\hypertarget{group__Eina__Value__Hash__Group}{}\doxysection{Generic Value Hash management}
\label{group__Eina__Value__Hash__Group}\index{Generic Value Hash management@{Generic Value Hash management}}
\doxysubsection*{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}
\doxysubsection*{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 \mbox{\hyperlink{group__Eina__Value__Group_gae007408c7e8c4c9240236d45ea6f7d8f}{EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+HASH}}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}} $\ast$ \mbox{\hyperlink{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}{eina\+\_\+value\+\_\+hash\+\_\+new}} (const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} $\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}} $\ast$value, const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} $\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}} $\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}} $\ast$value, const char $\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}} $\ast$value, const char $\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}} $\ast$value, const char $\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}} $\ast$value, const char $\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}} $\ast$value, const char $\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}} $\ast$value, const char $\ast$key, const void $\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}} $\ast$value, const char $\ast$key, void $\ast$ptr)
\begin{DoxyCompactList}\small\item\em Gets the generic value to pointer from an hash member. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\doxysubsection{Typedef Documentation}
\mbox{\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}}
\doxysubsubsection{\texorpdfstring{Eina\_Value\_Hash}{Eina\_Value\_Hash}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga0b0c67d047e146367e335ff854407671}{Eina\+\_\+\+Value\+\_\+\+Hash}}}



Value type for \mbox{\hyperlink{group__Eina__Value__Group_gae007408c7e8c4c9240236d45ea6f7d8f}{EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+HASH}}. 

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


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}\label{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}} 
\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}}
\doxysubsubsection{\texorpdfstring{eina\_value\_hash\_new()}{eina\_value\_hash\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Value__Group_ga7985e8af6e956ae31b381bf829173cc0}{Eina\+\_\+\+Value}}$\ast$ eina\+\_\+value\+\_\+hash\+\_\+new (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} $\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 $^\wedge$ 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 \mbox{\hyperlink{group__Eina__Value__Hash__Group_ga712d1d68686e99abaccbb830734688e4}{eina\+\_\+value\+\_\+hash\+\_\+setup()}}.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{eina\+\_\+value\+\_\+free()}} 

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


References eina\+\_\+mempool\+\_\+free(), eina\+\_\+mempool\+\_\+malloc(), EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN\+\_\+\+VAL, eina\+\_\+value\+\_\+hash\+\_\+setup(), and eina\+\_\+value\+\_\+type\+\_\+check().

\mbox{\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}}
\doxysubsubsection{\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}} $\ast$}]{value,  }\item[{const \mbox{\hyperlink{group__Eina__Value__Group_gaab67ab8bcd0624280c5276044b07e0d2}{Eina\+\_\+\+Value\+\_\+\+Type}} $\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 $^\wedge$ buckets\+\_\+power\+\_\+size), if zero then a sane value is chosen. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{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 \mbox{\hyperlink{group__Eina__Value__Value__Group_ga9a1407c953694c3d6f40ab01ebe9a294}{eina\+\_\+value\+\_\+set()}} with \mbox{\hyperlink{group__Eina__Value__Group_gae007408c7e8c4c9240236d45ea6f7d8f}{EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+HASH}} followed by \mbox{\hyperlink{group__Eina__Value__Value__Group_ga60352abff8ce5f9cdfc870ba9cf2f28e}{eina\+\_\+value\+\_\+pset()}} with the \mbox{\hyperlink{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 \mbox{\hyperlink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush()}} first.
\end{DoxyNote}
On failure, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} is returned.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Value__Value__Group_ga940660709a2862bafac92f47bb721a68}{eina\+\_\+value\+\_\+flush()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


Referenced by eina\+\_\+value\+\_\+hash\+\_\+new().

\mbox{\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}}
\doxysubsubsection{\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}} $\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}
\mbox{\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}}
\doxysubsubsection{\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}} $\ast$}]{value,  }\item[{const char $\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}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} otherwise.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\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}}
\doxysubsubsection{\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}} $\ast$}]{value,  }\item[{const char $\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}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{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 $\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRING\+: const char $\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+HASH\+: Eina\+\_\+\+Value\+\_\+\+Hash \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TIMEVAL\+: struct timeval$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+BLOB\+: Eina\+\_\+\+Value\+\_\+\+Blob$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRUCT\+: Eina\+\_\+\+Value\+\_\+\+Struct$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TM\+: struct tm$\ast$\end{DoxyItemize}

\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}} *value = \mbox{\hyperlink{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}{eina\_value\_hash\_new}}(\mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}}, 0);}
\DoxyCodeLine{\textcolor{keywordtype}{int} x;}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\_value\_hash\_set}}(value, \textcolor{stringliteral}{"{}abc"{}}, 5678);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\_value\_hash\_get}}(value, \textcolor{stringliteral}{"{}abc"{}}, \&x);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{eina\_value\_free}}(value);}

\end{DoxyCode}


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

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

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

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga7c4430f3cc6cb7baba7f9b16dd625812}{eina\+\_\+value\+\_\+hash\+\_\+del()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\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}}
\doxysubsubsection{\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}} $\ast$}]{value,  }\item[{const char $\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}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{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$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ERROR\+: Eina\+\_\+\+Error$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UCHAR\+: unsigned char$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+USHORT\+: unsigned short$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UINT\+: unsigned int$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ULONG\+: unsigned long$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UINT64\+: uint64\+\_\+t$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+CHAR\+: char$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+SHORT\+: short$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+INT\+: int$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+LONG\+: long$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+INT64\+: int64\+\_\+t$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+FLOAT\+: float$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+DOUBLE\+: double$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRINGSHARE\+: const char $\ast$$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRING\+: const char $\ast$$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+HASH\+: Eina\+\_\+\+Value\+\_\+\+Hash$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TIMEVAL\+: struct timeval$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+BLOB\+: Eina\+\_\+\+Value\+\_\+\+Blob$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRUCT\+: Eina\+\_\+\+Value\+\_\+\+Struct$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TM\+: struct tm$\ast$\end{DoxyItemize}

\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}} *value = \mbox{\hyperlink{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}{eina\_value\_hash\_new}}(\mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}}, 0);}
\DoxyCodeLine{\textcolor{keywordtype}{int} x;}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\_value\_hash\_set}}(value, \textcolor{stringliteral}{"{}abc"{}}, 1234);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga854b308b7fab1f9e2ecdd41fa9d9770c}{eina\_value\_hash\_get}}(value, \textcolor{stringliteral}{"{}abc"{}}, \&x);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{eina\_value\_free}}(value);}

\end{DoxyCode}


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

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

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\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}}
\doxysubsubsection{\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}} $\ast$}]{value,  }\item[{const char $\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}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} otherwise.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\+\_\+value\+\_\+hash\+\_\+set()}} 

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

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\+\_\+value\+\_\+hash\+\_\+pset()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\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}}
\doxysubsubsection{\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}} $\ast$}]{value,  }\item[{const char $\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}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{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}
\mbox{\hyperlink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()}} 

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

\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga7f1bdc2866197c971f06056aecc5af28}{eina\+\_\+value\+\_\+hash\+\_\+pget()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\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}}
\doxysubsubsection{\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}} $\ast$}]{value,  }\item[{const char $\ast$}]{key,  }\item[{const void $\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}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{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$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ERROR\+: Eina\+\_\+\+Error$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UCHAR\+: unsigned char$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+USHORT\+: unsigned short$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UINT\+: unsigned int$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ULONG\+: unsigned long$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UINT64\+: uint64\+\_\+t$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+CHAR\+: char$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+SHORT\+: short$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+INT\+: int$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+LONG\+: long$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+INT64\+: int64\+\_\+t$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+FLOAT\+: float$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+DOUBLE\+: double$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRINGSHARE\+: const char $\ast$$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRING\+: const char $\ast$$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+HASH\+: Eina\+\_\+\+Value\+\_\+\+Hash$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TIMEVAL\+: struct timeval$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+BLOB\+: Eina\+\_\+\+Value\+\_\+\+Blob$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRUCT\+: Eina\+\_\+\+Value\+\_\+\+Struct$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TM\+: struct tm$\ast$\end{DoxyItemize}
\begin{DoxyNote}{Note}
the pointer contents are written using the size defined by type. It can be larger than void$\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_gafbb30853d8db3752714847ff5cd802e5}{eina\_value\_hash\_new}}(\mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}}, 0);}
\DoxyCodeLine{\textcolor{keywordtype}{int} x = 1234;}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga3c6d9f9d9234adfef7e58e5ac6821d20}{eina\_value\_hash\_pset}}(value, \textcolor{stringliteral}{"{}abc"{}}, \&x);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga7f1bdc2866197c971f06056aecc5af28}{eina\_value\_hash\_pget}}(value, \textcolor{stringliteral}{"{}abc"{}}, \&x);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{eina\_value\_free}}(value);}

\end{DoxyCode}


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

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

\mbox{\hyperlink{group__Eina__Value__Hash__Group_gab3886b1dc08c33a4467974238684e0e0}{eina\+\_\+value\+\_\+hash\+\_\+vset()}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\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}}
\doxysubsubsection{\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}} $\ast$}]{value,  }\item[{const char $\ast$}]{key,  }\item[{void $\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}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{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$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ERROR\+: Eina\+\_\+\+Error$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UCHAR\+: unsigned char$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+USHORT\+: unsigned short$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UINT\+: unsigned int$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+ULONG\+: unsigned long$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+UINT64\+: uint64\+\_\+t$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+CHAR\+: char$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+SHORT\+: short$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+INT\+: int$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+LONG\+: long$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+INT64\+: int64\+\_\+t$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+FLOAT\+: float$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+DOUBLE\+: double$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRINGSHARE\+: const char $\ast$$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRING\+: const char $\ast$$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+HASH\+: Eina\+\_\+\+Value\+\_\+\+Hash$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TIMEVAL\+: struct timeval$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+BLOB\+: Eina\+\_\+\+Value\+\_\+\+Blob$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+STRUCT\+: Eina\+\_\+\+Value\+\_\+\+Struct$\ast$ \item EINA\+\_\+\+VALUE\+\_\+\+TYPE\+\_\+\+TM\+: struct tm$\ast$\end{DoxyItemize}

\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{struct__Eina__Value}{Eina\_Value}} *value = \mbox{\hyperlink{group__Eina__Value__Hash__Group_gafbb30853d8db3752714847ff5cd802e5}{eina\_value\_hash\_new}}(\mbox{\hyperlink{group__Eina__Value__Group_ga17974fd9ab773a3efefd591ffde58f77}{EINA\_VALUE\_TYPE\_INT}}, 0);}
\DoxyCodeLine{\textcolor{keywordtype}{int} x;}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga949a995459d191bfc9a88e4173d25b5e}{eina\_value\_hash\_set}}(value, \textcolor{stringliteral}{"{}abc"{}}, 1234);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Hash__Group_ga7f1bdc2866197c971f06056aecc5af28}{eina\_value\_hash\_pget}}(value, \textcolor{stringliteral}{"{}abc"{}}, \&x);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Value__Value__Group_gaa2aa7ac9d1fcd7c4497cf104cb374a52}{eina\_value\_free}}(value);}

\end{DoxyCode}


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

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

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