\doxysubsubsubsubsection{Generic Value Hash management}
\hypertarget{group__Eina__Value__Hash__Group}{}\label{group__Eina__Value__Hash__Group}\index{Generic Value Hash management@{Generic Value Hash management}}
\doxysubsubsubsubsubsubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__Eina__Value__Hash}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Hash}}
\begin{DoxyCompactList}\small\item\em Used to store the hash and its subtype. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsubsubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \mbox{\hyperlink{struct__Eina__Value__Hash}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Hash}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga0b0c67d047e146367e335ff854407671}{Eina\+\_\+\+Value\+\_\+\+Hash}}
\begin{DoxyCompactList}\small\item\em Value type for \doxylink{group__Eina__Value__Group_ga8a6cae116ec0e7afcd25c5304d7f67ba}{EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+HASH}. \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__Hash__Group_ga176a003946d6c0bfd6967b98a4b7c3db}{eina\+\_\+value\+\_\+hash\+\_\+new}} (const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} \texorpdfstring{$\ast$}{*}subtype, unsigned int buckets\+\_\+power\+\_\+size)
\begin{DoxyCompactList}\small\item\em Creates generic value storage of type hash. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}{eina\+\_\+value\+\_\+hash\+\_\+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$}{*}subtype, unsigned int buckets\+\_\+power\+\_\+size)
\begin{DoxyCompactList}\small\item\em Initializes generic value storage of type hash. \end{DoxyCompactList}\item 
static unsigned int \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga1594d3ca724fcbb99dc3354a33cdfee3}{eina\+\_\+value\+\_\+hash\+\_\+population}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value)
\begin{DoxyCompactList}\small\item\em Queries number of elements in value of hash type. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga7c4430f3cc6cb7baba7f9b16dd625812}{eina\+\_\+value\+\_\+hash\+\_\+del}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value, const char \texorpdfstring{$\ast$}{*}key)
\begin{DoxyCompactList}\small\item\em Removes element at given position in value of hash type. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value, const char \texorpdfstring{$\ast$}{*}key,...)
\begin{DoxyCompactList}\small\item\em Sets the generic value in an hash member. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value, const char \texorpdfstring{$\ast$}{*}key,...)
\begin{DoxyCompactList}\small\item\em Gets the generic value from an hash member. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value, const char \texorpdfstring{$\ast$}{*}key, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Sets the generic value in an hash member. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_gaef1be893a3b48fd34fc27dc99e5f060a}{eina\+\_\+value\+\_\+hash\+\_\+vget}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value, const char \texorpdfstring{$\ast$}{*}key, va\+\_\+list args)
\begin{DoxyCompactList}\small\item\em Gets the generic value from an hash member. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset}} (\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value, const char \texorpdfstring{$\ast$}{*}key, const void \texorpdfstring{$\ast$}{*}ptr)
\begin{DoxyCompactList}\small\item\em Sets the generic value in an hash member from pointer. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga7f1bdc2866197c971f06056aecc5af28}{eina\+\_\+value\+\_\+hash\+\_\+pget}} (const \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}value, const char \texorpdfstring{$\ast$}{*}key, void \texorpdfstring{$\ast$}{*}ptr)
\begin{DoxyCompactList}\small\item\em Gets the generic value to pointer from an hash member. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsubsubsubsubsection{Detailed Description}




\doxysubsubsubsubsubsection{Typedef Documentation}
\Hypertarget{group__Eina__Value__Hash__Group_ga0b0c67d047e146367e335ff854407671}\label{group__Eina__Value__Hash__Group_ga0b0c67d047e146367e335ff854407671} 
\index{Generic Value Hash management@{Generic Value Hash management}!Eina\_Value\_Hash@{Eina\_Value\_Hash}}
\index{Eina\_Value\_Hash@{Eina\_Value\_Hash}!Generic Value Hash management@{Generic Value Hash management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{Eina\_Value\_Hash}{Eina\_Value\_Hash}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga0b0c67d047e146367e335ff854407671}{Eina\+\_\+\+Value\+\_\+\+Hash}}}



Value type for \doxylink{group__Eina__Value__Group_ga8a6cae116ec0e7afcd25c5304d7f67ba}{EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+HASH}. 

\begin{DoxySeeAlso}{See also}
\doxylink{struct__Eina__Value__Hash}{\+\_\+\+Eina\+\_\+\+Value\+\_\+\+Hash} explains fields. 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


\doxysubsubsubsubsubsection{Function Documentation}
\Hypertarget{group__Eina__Value__Hash__Group_ga176a003946d6c0bfd6967b98a4b7c3db}\label{group__Eina__Value__Hash__Group_ga176a003946d6c0bfd6967b98a4b7c3db} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\_value\_hash\_new@{eina\_value\_hash\_new}}
\index{eina\_value\_hash\_new@{eina\_value\_hash\_new}!Generic Value Hash management@{Generic Value Hash management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_hash\_new()}{eina\_value\_hash\_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\+\_\+hash\+\_\+new (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} \texorpdfstring{$\ast$}{*}}]{subtype,  }\item[{unsigned int}]{buckets\+\_\+power\+\_\+size }\end{DoxyParamCaption})}



Creates generic value storage of type hash. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em subtype} & How to manage this hash members. \\
\hline
\mbox{\texttt{ in}}  & {\em buckets\+\_\+power\+\_\+size} & How to allocate hash buckets (2 \texorpdfstring{$^\wedge$}{\string^} buckets\+\_\+power\+\_\+size), if zero then a sane value is chosen. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The new value, or {\ttfamily NULL} on failure.
\end{DoxyReturn}
Creates a new generic value storage of type hash. The members are managed using the description specified by {\itshape subtype}.

On failure, {\ttfamily NULL} is returned.

\begin{DoxyNote}{Note}
this creates from mempool and then uses \doxylink{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}{eina\+\_\+value\+\_\+hash\+\_\+setup()}.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Value__Group_ga27a121e20a7109d5eae7203fc0f54850}{eina\+\_\+value\+\_\+free()} 

\doxylink{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}{eina\+\_\+value\+\_\+hash\+\_\+setup()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


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

\Hypertarget{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}\label{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\_value\_hash\_setup@{eina\_value\_hash\_setup}}
\index{eina\_value\_hash\_setup@{eina\_value\_hash\_setup}!Generic Value Hash management@{Generic Value Hash management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_hash\_setup()}{eina\_value\_hash\_setup()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+hash\+\_\+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$}{*}}]{subtype,  }\item[{unsigned int}]{buckets\+\_\+power\+\_\+size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Initializes generic value storage of type hash. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & Value object \\
\hline
\mbox{\texttt{ in}}  & {\em subtype} & How to manage this hash members. \\
\hline
\mbox{\texttt{ in}}  & {\em buckets\+\_\+power\+\_\+size} & How to allocate hash buckets (2 \texorpdfstring{$^\wedge$}{\string^} buckets\+\_\+power\+\_\+size), if zero then a sane value is chosen. \\
\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 new generic value storage of type hash with the given {\itshape subtype}.

This is the same as calling \doxylink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set()} with \doxylink{group__Eina__Value__Group_ga8a6cae116ec0e7afcd25c5304d7f67ba}{EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+HASH} followed by \doxylink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset()} with the \doxylink{group__Eina__Value__Hash__Group_ga0b0c67d047e146367e335ff854407671}{Eina\+\_\+\+Value\+\_\+\+Hash} description configured.

\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__Hash__Group_ga1594d3ca724fcbb99dc3354a33cdfee3}\label{group__Eina__Value__Hash__Group_ga1594d3ca724fcbb99dc3354a33cdfee3} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\_value\_hash\_population@{eina\_value\_hash\_population}}
\index{eina\_value\_hash\_population@{eina\_value\_hash\_population}!Generic Value Hash management@{Generic Value Hash management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_hash\_population()}{eina\_value\_hash\_population()}}
{\footnotesize\ttfamily static unsigned int eina\+\_\+value\+\_\+hash\+\_\+population (\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 number of elements in value of hash type. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & value object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of child elements.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\Hypertarget{group__Eina__Value__Hash__Group_ga7c4430f3cc6cb7baba7f9b16dd625812}\label{group__Eina__Value__Hash__Group_ga7c4430f3cc6cb7baba7f9b16dd625812} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\_value\_hash\_del@{eina\_value\_hash\_del}}
\index{eina\_value\_hash\_del@{eina\_value\_hash\_del}!Generic Value Hash management@{Generic Value Hash management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_hash\_del()}{eina\_value\_hash\_del()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+hash\+\_\+del (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value,  }\item[{const char \texorpdfstring{$\ast$}{*}}]{key }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Removes element at given position in value of hash type. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em value} & value object. \\
\hline
\mbox{\texttt{ in}}  & {\em key} & key to find the member \\
\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{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\Hypertarget{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}\label{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e} 
\index{Generic Value Hash management@{Generic Value Hash management}!eina\_value\_hash\_set@{eina\_value\_hash\_set}}
\index{eina\_value\_hash\_set@{eina\_value\_hash\_set}!Generic Value Hash management@{Generic Value Hash management}}
\doxysubsubsubsubsubsubsection{\texorpdfstring{eina\_value\_hash\_set()}{eina\_value\_hash\_set()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+value\+\_\+hash\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} \texorpdfstring{$\ast$}{*}}]{value,  }\item[{const char \texorpdfstring{$\ast$}{*}}]{key,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sets the generic value in an hash member. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em value} & Source value object \\
\hline
\mbox{\texttt{ in}}  & {\em key} & Key to find the member \\
\hline
\mbox{\texttt{ in}}  & {\em ...} & Variable arguments of 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 subtype. 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\+\_\+\+HASH\+: Eina\+\_\+\+Value\+\_\+\+Hash \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__Hash__Group_ga176a003946d6c0bfd6967b98a4b7c3db}{eina\_value\_hash\_new}}(\mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}},\ 0);}
\DoxyCodeLine{\textcolor{keywordtype}{int}\ x;}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_hash\_set(value,\ \textcolor{stringliteral}{"{}abc"{}},\ 5678);}
\DoxyCodeLine{eina\_value\_hash\_get(value,\ \textcolor{stringliteral}{"{}abc"{}},\ \&x);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_ga27a121e20a7109d5eae7203fc0f54850}{eina\_value\_free}}(value);}

\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get()} 

\doxylink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()} 

\doxylink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset()} 

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



Gets the generic value from an hash member. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & Source value object \\
\hline
\mbox{\texttt{ in}}  & {\em key} & Key to find the member \\
\hline
\mbox{\texttt{ out}}  & {\em ...} & \\
\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 subtype. 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\+\_\+\+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__Hash__Group_ga176a003946d6c0bfd6967b98a4b7c3db}{eina\_value\_hash\_new}}(\mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}},\ 0);}
\DoxyCodeLine{\textcolor{keywordtype}{int}\ x;}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_hash\_set(value,\ \textcolor{stringliteral}{"{}abc"{}},\ 1234);}
\DoxyCodeLine{eina\_value\_hash\_get(value,\ \textcolor{stringliteral}{"{}abc"{}},\ \&x);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_ga27a121e20a7109d5eae7203fc0f54850}{eina\_value\_free}}(value);}

\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set()} 

\doxylink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()} 

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



Sets the generic value in an hash member. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em value} & Source value object \\
\hline
\mbox{\texttt{ in}}  & {\em key} & Key to find the member \\
\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{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set()} 

\doxylink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get()} 

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



Gets the generic value from an hash member. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & Source value object \\
\hline
\mbox{\texttt{ in}}  & {\em key} & Key to find the member \\
\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{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()} 

\doxylink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get()} 

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



Sets the generic value in an hash member from pointer. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em value} & Source value object \\
\hline
\mbox{\texttt{ in}}  & {\em key} & Key to find the member \\
\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\+\_\+\+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__Hash__Group_ga176a003946d6c0bfd6967b98a4b7c3db}{eina\_value\_hash\_new}}(\mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}},\ 0);}
\DoxyCodeLine{\textcolor{keywordtype}{int}\ x\ =\ 1234;}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_hash\_pset(value,\ \textcolor{stringliteral}{"{}abc"{}},\ \&x);}
\DoxyCodeLine{eina\_value\_hash\_pget(value,\ \textcolor{stringliteral}{"{}abc"{}},\ \&x);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_ga27a121e20a7109d5eae7203fc0f54850}{eina\_value\_free}}(value);}

\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set()} 

\doxylink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\+\_\+value\+\_\+hash\+\_\+get()} 

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



Gets the generic value to pointer from an hash member. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & Source value object \\
\hline
\mbox{\texttt{ in}}  & {\em key} & Key to find the member \\
\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\+\_\+\+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__Hash__Group_ga176a003946d6c0bfd6967b98a4b7c3db}{eina\_value\_hash\_new}}(\mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}},\ 0);}
\DoxyCodeLine{\textcolor{keywordtype}{int}\ x;}
\DoxyCodeLine{}
\DoxyCodeLine{eina\_value\_hash\_set(value,\ \textcolor{stringliteral}{"{}abc"{}},\ 1234);}
\DoxyCodeLine{eina\_value\_hash\_pget(value,\ \textcolor{stringliteral}{"{}abc"{}},\ \&x);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_ga27a121e20a7109d5eae7203fc0f54850}{eina\_value\_free}}(value);}

\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\doxylink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set()} 

\doxylink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()} 

\doxylink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
