\hypertarget{group__Edje__External__Plugin__Development__Group}{}\section{Edje Development of External Plugins}
\label{group__Edje__External__Plugin__Development__Group}\index{Edje Development of External Plugins@{Edje Development of External Plugins}}


Functions to register, unregister E\+X\+T\+E\+R\+N\+AL types and develop the plugins.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga6328117e55ec1a92efc84adeadc9da97}{edje\+\_\+external\+\_\+type\+\_\+register}} (const char $\ast$type\+\_\+name, const \mbox{\hyperlink{struct__Edje__External__Type}{Edje\+\_\+\+External\+\_\+\+Type}} $\ast$type\+\_\+info)
\begin{DoxyCompactList}\small\item\em Registers a type to be used by E\+X\+T\+E\+R\+N\+AL parts. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_gaa41f94d4ab5e7bfd525de5f9a11aad93}{edje\+\_\+external\+\_\+type\+\_\+unregister}} (const char $\ast$type\+\_\+name)
\begin{DoxyCompactList}\small\item\em Unregisters a previously registered E\+X\+T\+E\+R\+N\+AL type. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga99ad55e4a9091e68e6d01d152e82635e}{edje\+\_\+external\+\_\+type\+\_\+array\+\_\+register}} (const \mbox{\hyperlink{struct__Edje__External__Type__Info}{Edje\+\_\+\+External\+\_\+\+Type\+\_\+\+Info}} $\ast$array)
\begin{DoxyCompactList}\small\item\em Registers a batch of types and their information. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga2326fd0e1fd00eaa2062269c6005a290}{edje\+\_\+external\+\_\+type\+\_\+array\+\_\+unregister}} (const \mbox{\hyperlink{struct__Edje__External__Type__Info}{Edje\+\_\+\+External\+\_\+\+Type\+\_\+\+Info}} $\ast$array)
\begin{DoxyCompactList}\small\item\em Unregisters a batch of given external type previously registered. \end{DoxyCompactList}\item 
unsigned int \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga33735e783f82c80b63885d067e48777b}{edje\+\_\+external\+\_\+type\+\_\+abi\+\_\+version\+\_\+get}} (void)
\begin{DoxyCompactList}\small\item\em Returns the current A\+BI version for Edje\+\_\+\+External\+\_\+\+Type structure. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator}} $\ast$ \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_gae1fb3233fcd31164e36d346f891e0744}{edje\+\_\+external\+\_\+iterator\+\_\+get}} (void)
\item 
\mbox{\hyperlink{group__Edje__External__Group_ga063f57b672d50402fa25eed6b4d5899a}{Edje\+\_\+\+External\+\_\+\+Param}} $\ast$ \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga5bd53c035c21479d5757116d5939eef3}{edje\+\_\+external\+\_\+param\+\_\+find}} (const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$params, const char $\ast$key)
\begin{DoxyCompactList}\small\item\em Convenience function to find a specific parameter in a list of them. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga386d6423edeae2bad4275742774734cc}{edje\+\_\+external\+\_\+param\+\_\+int\+\_\+get}} (const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$params, const char $\ast$key, int $\ast$ret)
\begin{DoxyCompactList}\small\item\em Gets the value of the given parameter of integer type. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga1c9fb7bb0408ccaf9fc33eacc0a9427f}{edje\+\_\+external\+\_\+param\+\_\+double\+\_\+get}} (const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$params, const char $\ast$key, double $\ast$ret)
\begin{DoxyCompactList}\small\item\em Gets the value of the given parameter of double type. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_gad979376af324a68e0423305d2402c6b2}{edje\+\_\+external\+\_\+param\+\_\+string\+\_\+get}} (const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$params, const char $\ast$key, const char $\ast$$\ast$ret)
\begin{DoxyCompactList}\small\item\em Gets the value of the given parameter of string type. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_gac177865ee5cfc626c632981625e80d19}{edje\+\_\+external\+\_\+param\+\_\+bool\+\_\+get}} (const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$params, const char $\ast$key, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} $\ast$ret)
\begin{DoxyCompactList}\small\item\em Gets the value of the given parameter of boolean type. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga6959e80b3d128a4b11d08548a87c6ad3}{edje\+\_\+external\+\_\+param\+\_\+choice\+\_\+get}} (const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$params, const char $\ast$key, const char $\ast$$\ast$ret)
\begin{DoxyCompactList}\small\item\em Gets the value of the given parameter of choice type. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group__Edje__External__Group_ga3359e717990957d49d9fb5f32843bcfc}{Edje\+\_\+\+External\+\_\+\+Param\+\_\+\+Info}} $\ast$ \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga3e346e0e3d79892047e54e8ee10c2a72}{edje\+\_\+external\+\_\+param\+\_\+info\+\_\+get}} (const char $\ast$type\+\_\+name)
\begin{DoxyCompactList}\small\item\em Gets the array of parameters information about a type given its name. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Edje__External__Plugin__Development__Group_ga53d3116ca7d1d8feb2d39e0bb652564a}\label{group__Edje__External__Plugin__Development__Group_ga53d3116ca7d1d8feb2d39e0bb652564a}} 
const \mbox{\hyperlink{struct__Edje__External__Type}{Edje\+\_\+\+External\+\_\+\+Type}} $\ast$ \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga53d3116ca7d1d8feb2d39e0bb652564a}{edje\+\_\+external\+\_\+type\+\_\+get}} (const char $\ast$type\+\_\+name)
\begin{DoxyCompactList}\small\item\em Gets the \#\+Edje\+\_\+\+External\+\_\+\+Type that defines an E\+X\+T\+E\+R\+N\+AL type registered with the name {\ttfamily type\+\_\+name}. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Functions to register, unregister E\+X\+T\+E\+R\+N\+AL types and develop the plugins. 

This group discusses functions useful for the development of new plugins. These functions deal with the newly E\+X\+T\+E\+R\+N\+AL types by registering, unregistering and manipulating them. 

\subsection{Function Documentation}
\mbox{\Hypertarget{group__Edje__External__Plugin__Development__Group_ga6328117e55ec1a92efc84adeadc9da97}\label{group__Edje__External__Plugin__Development__Group_ga6328117e55ec1a92efc84adeadc9da97}} 
\index{Edje Development of External Plugins@{Edje Development of External Plugins}!edje\+\_\+external\+\_\+type\+\_\+register@{edje\+\_\+external\+\_\+type\+\_\+register}}
\index{edje\+\_\+external\+\_\+type\+\_\+register@{edje\+\_\+external\+\_\+type\+\_\+register}!Edje Development of External Plugins@{Edje Development of External Plugins}}
\subsubsection{\texorpdfstring{edje\+\_\+external\+\_\+type\+\_\+register()}{edje\_external\_type\_register()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} edje\+\_\+external\+\_\+type\+\_\+register (\begin{DoxyParamCaption}\item[{const char $\ast$}]{type\+\_\+name,  }\item[{const \mbox{\hyperlink{struct__Edje__External__Type}{Edje\+\_\+\+External\+\_\+\+Type}} $\ast$}]{type\+\_\+info }\end{DoxyParamCaption})}



Registers a type to be used by E\+X\+T\+E\+R\+N\+AL parts. 

Parts of type E\+X\+T\+E\+R\+N\+AL will call user defined functions to create and manipulate the object that\textquotesingle{}s allocated in that part. This is done by expecifying in the {\ttfamily source} property of the part the name of the external to use, which must be one registered with this function.


\begin{DoxyParams}{Parameters}
{\em type\+\_\+name} & Name to register and be known by edje\textquotesingle{}s \char`\"{}source\+:\char`\"{} parameter of \char`\"{}type\+: E\+X\+T\+E\+R\+N\+A\+L\char`\"{} parts. \\
\hline
{\em type\+\_\+info} & Meta-\/information describing how to interact with it.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} on failure (like type already registered).
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga99ad55e4a9091e68e6d01d152e82635e}{edje\+\_\+external\+\_\+type\+\_\+array\+\_\+register()}} 
\end{DoxySeeAlso}


References \+\_\+\+Edje\+\_\+\+External\+\_\+\+Type\+::abi\+\_\+version, and E\+I\+N\+A\+\_\+\+F\+A\+L\+SE.

\mbox{\Hypertarget{group__Edje__External__Plugin__Development__Group_gaa41f94d4ab5e7bfd525de5f9a11aad93}\label{group__Edje__External__Plugin__Development__Group_gaa41f94d4ab5e7bfd525de5f9a11aad93}} 
\index{Edje Development of External Plugins@{Edje Development of External Plugins}!edje\+\_\+external\+\_\+type\+\_\+unregister@{edje\+\_\+external\+\_\+type\+\_\+unregister}}
\index{edje\+\_\+external\+\_\+type\+\_\+unregister@{edje\+\_\+external\+\_\+type\+\_\+unregister}!Edje Development of External Plugins@{Edje Development of External Plugins}}
\subsubsection{\texorpdfstring{edje\+\_\+external\+\_\+type\+\_\+unregister()}{edje\_external\_type\_unregister()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} edje\+\_\+external\+\_\+type\+\_\+unregister (\begin{DoxyParamCaption}\item[{const char $\ast$}]{type\+\_\+name }\end{DoxyParamCaption})}



Unregisters a previously registered E\+X\+T\+E\+R\+N\+AL type. 


\begin{DoxyParams}{Parameters}
{\em type\+\_\+name} & name to unregister. It should have been registered with \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga6328117e55ec1a92efc84adeadc9da97}{edje\+\_\+external\+\_\+type\+\_\+register()}} before.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} on failure (like type\+\_\+name did not exist).
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga2326fd0e1fd00eaa2062269c6005a290}{edje\+\_\+external\+\_\+type\+\_\+array\+\_\+unregister()}} 
\end{DoxySeeAlso}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, and eina\+\_\+hash\+\_\+del\+\_\+by\+\_\+key().

\mbox{\Hypertarget{group__Edje__External__Plugin__Development__Group_ga99ad55e4a9091e68e6d01d152e82635e}\label{group__Edje__External__Plugin__Development__Group_ga99ad55e4a9091e68e6d01d152e82635e}} 
\index{Edje Development of External Plugins@{Edje Development of External Plugins}!edje\+\_\+external\+\_\+type\+\_\+array\+\_\+register@{edje\+\_\+external\+\_\+type\+\_\+array\+\_\+register}}
\index{edje\+\_\+external\+\_\+type\+\_\+array\+\_\+register@{edje\+\_\+external\+\_\+type\+\_\+array\+\_\+register}!Edje Development of External Plugins@{Edje Development of External Plugins}}
\subsubsection{\texorpdfstring{edje\+\_\+external\+\_\+type\+\_\+array\+\_\+register()}{edje\_external\_type\_array\_register()}}
{\footnotesize\ttfamily void edje\+\_\+external\+\_\+type\+\_\+array\+\_\+register (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Edje__External__Type__Info}{Edje\+\_\+\+External\+\_\+\+Type\+\_\+\+Info}} $\ast$}]{array }\end{DoxyParamCaption})}



Registers a batch of types and their information. 

When several types will be registered it is recommended to use this function instead of several calls to \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga6328117e55ec1a92efc84adeadc9da97}{edje\+\_\+external\+\_\+type\+\_\+register()}}, as it is faster.

\begin{DoxyNote}{Note}
The contents of the array will be referenced directly for as long as the type remains registered, so both the {\ttfamily name} and {\ttfamily info} in the {\ttfamily array} must be kept alive during all this period (usually, the entire program lifetime). The most common case would be to keep the array as a {\ttfamily static} {\ttfamily const} type anyway.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em array} & {\ttfamily N\+U\+LL} terminated array with type name and information. Note that type name or information are referenced directly, so they must be kept alive after this function returns!\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} on failure (like type already registered).
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga6328117e55ec1a92efc84adeadc9da97}{edje\+\_\+external\+\_\+type\+\_\+register()}} 
\end{DoxySeeAlso}


References \+\_\+\+Edje\+\_\+\+External\+\_\+\+Type\+::abi\+\_\+version, \+\_\+\+Edje\+\_\+\+External\+\_\+\+Type\+\_\+\+Info\+::info, and \+\_\+\+Edje\+\_\+\+External\+\_\+\+Type\+\_\+\+Info\+::name.

\mbox{\Hypertarget{group__Edje__External__Plugin__Development__Group_ga2326fd0e1fd00eaa2062269c6005a290}\label{group__Edje__External__Plugin__Development__Group_ga2326fd0e1fd00eaa2062269c6005a290}} 
\index{Edje Development of External Plugins@{Edje Development of External Plugins}!edje\+\_\+external\+\_\+type\+\_\+array\+\_\+unregister@{edje\+\_\+external\+\_\+type\+\_\+array\+\_\+unregister}}
\index{edje\+\_\+external\+\_\+type\+\_\+array\+\_\+unregister@{edje\+\_\+external\+\_\+type\+\_\+array\+\_\+unregister}!Edje Development of External Plugins@{Edje Development of External Plugins}}
\subsubsection{\texorpdfstring{edje\+\_\+external\+\_\+type\+\_\+array\+\_\+unregister()}{edje\_external\_type\_array\_unregister()}}
{\footnotesize\ttfamily void edje\+\_\+external\+\_\+type\+\_\+array\+\_\+unregister (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct__Edje__External__Type__Info}{Edje\+\_\+\+External\+\_\+\+Type\+\_\+\+Info}} $\ast$}]{array }\end{DoxyParamCaption})}



Unregisters a batch of given external type previously registered. 


\begin{DoxyParams}{Parameters}
{\em array} & {\ttfamily N\+U\+LL} terminated array, should be the same as the one used to register with \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga99ad55e4a9091e68e6d01d152e82635e}{edje\+\_\+external\+\_\+type\+\_\+array\+\_\+register()}}\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_gaa41f94d4ab5e7bfd525de5f9a11aad93}{edje\+\_\+external\+\_\+type\+\_\+unregister()}} 
\end{DoxySeeAlso}


References eina\+\_\+hash\+\_\+del(), \+\_\+\+Edje\+\_\+\+External\+\_\+\+Type\+\_\+\+Info\+::info, and \+\_\+\+Edje\+\_\+\+External\+\_\+\+Type\+\_\+\+Info\+::name.

\mbox{\Hypertarget{group__Edje__External__Plugin__Development__Group_ga33735e783f82c80b63885d067e48777b}\label{group__Edje__External__Plugin__Development__Group_ga33735e783f82c80b63885d067e48777b}} 
\index{Edje Development of External Plugins@{Edje Development of External Plugins}!edje\+\_\+external\+\_\+type\+\_\+abi\+\_\+version\+\_\+get@{edje\+\_\+external\+\_\+type\+\_\+abi\+\_\+version\+\_\+get}}
\index{edje\+\_\+external\+\_\+type\+\_\+abi\+\_\+version\+\_\+get@{edje\+\_\+external\+\_\+type\+\_\+abi\+\_\+version\+\_\+get}!Edje Development of External Plugins@{Edje Development of External Plugins}}
\subsubsection{\texorpdfstring{edje\+\_\+external\+\_\+type\+\_\+abi\+\_\+version\+\_\+get()}{edje\_external\_type\_abi\_version\_get()}}
{\footnotesize\ttfamily unsigned int edje\+\_\+external\+\_\+type\+\_\+abi\+\_\+version\+\_\+get (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Returns the current A\+BI version for Edje\+\_\+\+External\+\_\+\+Type structure. 

Always check this number before accessing Edje\+\_\+\+External\+\_\+\+Type in your own software. If the number is not the same, your software may access invalid memory and crash, or just get garbage values.

\begin{DoxyWarning}{Warning}
{\bfseries N\+E\+V\+ER}, E\+V\+ER define your own Edje\+\_\+\+External\+\_\+\+Type using the return of this function as it will change as Edje library (libedje.\+so) changes, but your type definition will not. Instead, use \#\+E\+D\+J\+E\+\_\+\+E\+X\+T\+E\+R\+N\+A\+L\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+B\+I\+\_\+\+V\+E\+R\+S\+I\+ON.
\end{DoxyWarning}
Summary\+:
\begin{DoxyItemize}
\item use \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga33735e783f82c80b63885d067e48777b}{edje\+\_\+external\+\_\+type\+\_\+abi\+\_\+version\+\_\+get()}} to check.
\item use \#\+E\+D\+J\+E\+\_\+\+E\+X\+T\+E\+R\+N\+A\+L\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+B\+I\+\_\+\+V\+E\+R\+S\+I\+ON to define/declare.
\end{DoxyItemize}

\begin{DoxyReturn}{Returns}
The external A\+BI version the Edje library was compiled with. That is, the value \#\+E\+D\+J\+E\+\_\+\+E\+X\+T\+E\+R\+N\+A\+L\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+B\+I\+\_\+\+V\+E\+R\+S\+I\+ON had at that moment. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Edje__External__Plugin__Development__Group_gae1fb3233fcd31164e36d346f891e0744}\label{group__Edje__External__Plugin__Development__Group_gae1fb3233fcd31164e36d346f891e0744}} 
\index{Edje Development of External Plugins@{Edje Development of External Plugins}!edje\+\_\+external\+\_\+iterator\+\_\+get@{edje\+\_\+external\+\_\+iterator\+\_\+get}}
\index{edje\+\_\+external\+\_\+iterator\+\_\+get@{edje\+\_\+external\+\_\+iterator\+\_\+get}!Edje Development of External Plugins@{Edje Development of External Plugins}}
\subsubsection{\texorpdfstring{edje\+\_\+external\+\_\+iterator\+\_\+get()}{edje\_external\_iterator\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator}}$\ast$ edje\+\_\+external\+\_\+iterator\+\_\+get (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}

\begin{DoxyReturn}{Returns}
An iterator of all the registered E\+X\+T\+E\+R\+N\+AL types.
\end{DoxyReturn}
Each item in the iterator is an {\ttfamily Eina\+\_\+\+Hash\+\_\+\+Tuple} which has the type of the external in the {\ttfamily key} and \#\+Edje\+\_\+\+External\+\_\+\+Type as {\ttfamily data}.


\begin{DoxyCode}
\textcolor{keyword}{const} \mbox{\hyperlink{struct__Eina__Hash__Tuple}{Eina\_Hash\_Tuple}} *tuple;
\mbox{\hyperlink{struct__Eina__Iterator}{Eina\_Iterator}} *itr;
\textcolor{keyword}{const} \mbox{\hyperlink{struct__Eina__List}{Eina\_List}} *l, *modules;
\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s;

modules = \mbox{\hyperlink{group__Edje__General__Group_ga441ef9fb6456e016efeaa837d7fa812c}{edje\_available\_modules\_get}}();
\mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(modules, l, s)
  \{
     \textcolor{keywordflow}{if} (!\mbox{\hyperlink{group__Edje__General__Group_ga5246370a5f5b2d949cc125b31df72ef9}{edje\_module\_load}}(s))
       printf(\textcolor{stringliteral}{"Error loading edje module: %s\(\backslash\)n"}, s);
  \}

itr = \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_gae1fb3233fcd31164e36d346f891e0744}{edje\_external\_iterator\_get}}();
\mbox{\hyperlink{group__Eina__Iterator__Group_gac7314580e18868ef229f5d2814562794}{EINA\_ITERATOR\_FOREACH}}(itr, tuple)
  \{
     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *name = tuple->\mbox{\hyperlink{struct__Eina__Hash__Tuple_ab8fe9b0df3353720473ecdd5907ca002}{key}};
     \textcolor{keyword}{const} \mbox{\hyperlink{struct__Edje__External__Type}{Edje\_External\_Type}} *type = tuple->\mbox{\hyperlink{struct__Eina__Hash__Tuple_a04b95450a8af76c6bd6e9f93be5efd1e}{data}};

     \textcolor{keywordflow}{if} ((!type) ||
         (type->abi\_version != \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga33735e783f82c80b63885d067e48777b}{edje\_external\_type\_abi\_version\_get}}()))
       \{
          printf(\textcolor{stringliteral}{"Error: invalid type %p (abi: %d, expected: %d)\(\backslash\)n"},
                  type, type ? type->abi\_version : 0,
                  \mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga33735e783f82c80b63885d067e48777b}{edje\_external\_type\_abi\_version\_get}}());
          \textcolor{keywordflow}{continue};
       \}

     printf(\textcolor{stringliteral}{"%s: %s (%s) label='%s' desc='%s'\(\backslash\)n"},
            name, type->module, type->module\_name,
            type->label\_get ? type->label\_get(type->data) : \textcolor{stringliteral}{""},
            type->description\_get ? type->description\_get(type->data) : \textcolor{stringliteral}{""});
  \}
\end{DoxyCode}
 

References eina\+\_\+hash\+\_\+iterator\+\_\+tuple\+\_\+new().

\mbox{\Hypertarget{group__Edje__External__Plugin__Development__Group_ga5bd53c035c21479d5757116d5939eef3}\label{group__Edje__External__Plugin__Development__Group_ga5bd53c035c21479d5757116d5939eef3}} 
\index{Edje Development of External Plugins@{Edje Development of External Plugins}!edje\+\_\+external\+\_\+param\+\_\+find@{edje\+\_\+external\+\_\+param\+\_\+find}}
\index{edje\+\_\+external\+\_\+param\+\_\+find@{edje\+\_\+external\+\_\+param\+\_\+find}!Edje Development of External Plugins@{Edje Development of External Plugins}}
\subsubsection{\texorpdfstring{edje\+\_\+external\+\_\+param\+\_\+find()}{edje\_external\_param\_find()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Edje__External__Group_ga063f57b672d50402fa25eed6b4d5899a}{Edje\+\_\+\+External\+\_\+\+Param}}$\ast$ edje\+\_\+external\+\_\+param\+\_\+find (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$}]{params,  }\item[{const char $\ast$}]{key }\end{DoxyParamCaption})}



Convenience function to find a specific parameter in a list of them. 


\begin{DoxyParams}{Parameters}
{\em params} & The list of parameters for the external \\
\hline
{\em key} & The parameter to look for\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The matching \mbox{\hyperlink{group__Edje__External__Group_ga063f57b672d50402fa25eed6b4d5899a}{Edje\+\_\+\+External\+\_\+\+Param}} or N\+U\+LL if it\textquotesingle{}s not found. 
\end{DoxyReturn}


References E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+CH, and \+\_\+\+Edje\+\_\+\+External\+\_\+\+Param\+::name.



Referenced by edje\+\_\+external\+\_\+param\+\_\+bool\+\_\+get(), edje\+\_\+external\+\_\+param\+\_\+choice\+\_\+get(), edje\+\_\+external\+\_\+param\+\_\+double\+\_\+get(), edje\+\_\+external\+\_\+param\+\_\+int\+\_\+get(), and edje\+\_\+external\+\_\+param\+\_\+string\+\_\+get().

\mbox{\Hypertarget{group__Edje__External__Plugin__Development__Group_ga386d6423edeae2bad4275742774734cc}\label{group__Edje__External__Plugin__Development__Group_ga386d6423edeae2bad4275742774734cc}} 
\index{Edje Development of External Plugins@{Edje Development of External Plugins}!edje\+\_\+external\+\_\+param\+\_\+int\+\_\+get@{edje\+\_\+external\+\_\+param\+\_\+int\+\_\+get}}
\index{edje\+\_\+external\+\_\+param\+\_\+int\+\_\+get@{edje\+\_\+external\+\_\+param\+\_\+int\+\_\+get}!Edje Development of External Plugins@{Edje Development of External Plugins}}
\subsubsection{\texorpdfstring{edje\+\_\+external\+\_\+param\+\_\+int\+\_\+get()}{edje\_external\_param\_int\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} edje\+\_\+external\+\_\+param\+\_\+int\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$}]{params,  }\item[{const char $\ast$}]{key,  }\item[{int $\ast$}]{ret }\end{DoxyParamCaption})}



Gets the value of the given parameter of integer type. 

Look for the {\ttfamily key} parameter in the {\ttfamily params} list and return its value in {\ttfamily ret}. If the parameter is found and is of type \mbox{\hyperlink{group__Edje__External__Group_gga33ecfac7110751d5e09bb2e3a4458d24a5e28435fdb6e3c9b4d154a58e6353053}{E\+D\+J\+E\+\_\+\+E\+X\+T\+E\+R\+N\+A\+L\+\_\+\+P\+A\+R\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+NT}}, its value will be stored in the int pointed by {\ttfamily ret}, returning E\+I\+N\+A\+\_\+\+T\+R\+UE. In any other case, the function returns E\+I\+N\+A\+\_\+\+F\+A\+L\+SE.


\begin{DoxyParams}{Parameters}
{\em params} & List of parameters where to look \\
\hline
{\em key} & Name of the parameter to fetch \\
\hline
{\em ret} & Int pointer where to store the value, must not be N\+U\+LL.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if the parameter was found and is of integer type, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 
\end{DoxyReturn}


References edje\+\_\+external\+\_\+param\+\_\+find(), E\+D\+J\+E\+\_\+\+E\+X\+T\+E\+R\+N\+A\+L\+\_\+\+P\+A\+R\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+I\+NT, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, E\+I\+N\+A\+\_\+\+T\+R\+UE, \+\_\+\+Edje\+\_\+\+External\+\_\+\+Param\+::i, and \+\_\+\+Edje\+\_\+\+External\+\_\+\+Param\+::type.

\mbox{\Hypertarget{group__Edje__External__Plugin__Development__Group_ga1c9fb7bb0408ccaf9fc33eacc0a9427f}\label{group__Edje__External__Plugin__Development__Group_ga1c9fb7bb0408ccaf9fc33eacc0a9427f}} 
\index{Edje Development of External Plugins@{Edje Development of External Plugins}!edje\+\_\+external\+\_\+param\+\_\+double\+\_\+get@{edje\+\_\+external\+\_\+param\+\_\+double\+\_\+get}}
\index{edje\+\_\+external\+\_\+param\+\_\+double\+\_\+get@{edje\+\_\+external\+\_\+param\+\_\+double\+\_\+get}!Edje Development of External Plugins@{Edje Development of External Plugins}}
\subsubsection{\texorpdfstring{edje\+\_\+external\+\_\+param\+\_\+double\+\_\+get()}{edje\_external\_param\_double\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} edje\+\_\+external\+\_\+param\+\_\+double\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$}]{params,  }\item[{const char $\ast$}]{key,  }\item[{double $\ast$}]{ret }\end{DoxyParamCaption})}



Gets the value of the given parameter of double type. 

Look for the {\ttfamily key} parameter in the {\ttfamily params} list and return its value in {\ttfamily ret}. If the parameter is found and is of type \mbox{\hyperlink{group__Edje__External__Group_gga33ecfac7110751d5e09bb2e3a4458d24a8bb849a3c33ca88e19965352334017e2}{E\+D\+J\+E\+\_\+\+E\+X\+T\+E\+R\+N\+A\+L\+\_\+\+P\+A\+R\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+O\+U\+B\+LE}}, its value will be stored in the double pointed by {\ttfamily ret}, returning E\+I\+N\+A\+\_\+\+T\+R\+UE. In any other case, the function returns E\+I\+N\+A\+\_\+\+F\+A\+L\+SE.


\begin{DoxyParams}{Parameters}
{\em params} & List of parameters where to look \\
\hline
{\em key} & Name of the parameter to fetch \\
\hline
{\em ret} & Double pointer where to store the value, must not be N\+U\+LL.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if the parameter was found and is of double type, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 
\end{DoxyReturn}


References \+\_\+\+Edje\+\_\+\+External\+\_\+\+Param\+::d, edje\+\_\+external\+\_\+param\+\_\+find(), E\+D\+J\+E\+\_\+\+E\+X\+T\+E\+R\+N\+A\+L\+\_\+\+P\+A\+R\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+O\+U\+B\+LE, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, E\+I\+N\+A\+\_\+\+T\+R\+UE, and \+\_\+\+Edje\+\_\+\+External\+\_\+\+Param\+::type.

\mbox{\Hypertarget{group__Edje__External__Plugin__Development__Group_gad979376af324a68e0423305d2402c6b2}\label{group__Edje__External__Plugin__Development__Group_gad979376af324a68e0423305d2402c6b2}} 
\index{Edje Development of External Plugins@{Edje Development of External Plugins}!edje\+\_\+external\+\_\+param\+\_\+string\+\_\+get@{edje\+\_\+external\+\_\+param\+\_\+string\+\_\+get}}
\index{edje\+\_\+external\+\_\+param\+\_\+string\+\_\+get@{edje\+\_\+external\+\_\+param\+\_\+string\+\_\+get}!Edje Development of External Plugins@{Edje Development of External Plugins}}
\subsubsection{\texorpdfstring{edje\+\_\+external\+\_\+param\+\_\+string\+\_\+get()}{edje\_external\_param\_string\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} edje\+\_\+external\+\_\+param\+\_\+string\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$}]{params,  }\item[{const char $\ast$}]{key,  }\item[{const char $\ast$$\ast$}]{ret }\end{DoxyParamCaption})}



Gets the value of the given parameter of string type. 

Look for the {\ttfamily key} parameter in the {\ttfamily params} list and return its value in {\ttfamily ret}. If the parameter is found and is of type \mbox{\hyperlink{group__Edje__External__Group_gga33ecfac7110751d5e09bb2e3a4458d24a85810dc93197da2114021f63022ccdb4}{E\+D\+J\+E\+\_\+\+E\+X\+T\+E\+R\+N\+A\+L\+\_\+\+P\+A\+R\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+NG}}, its value will be stored in the pointer pointed by {\ttfamily ret}, returning E\+I\+N\+A\+\_\+\+T\+R\+UE. In any other case, the function returns E\+I\+N\+A\+\_\+\+F\+A\+L\+SE.

The string stored in {\ttfamily ret} must not be freed or modified.


\begin{DoxyParams}{Parameters}
{\em params} & List of parameters where to look \\
\hline
{\em key} & Name of the parameter to fetch \\
\hline
{\em ret} & String pointer where to store the value, must not be N\+U\+LL.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if the parameter was found and is of string type, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 
\end{DoxyReturn}


References edje\+\_\+external\+\_\+param\+\_\+find(), E\+D\+J\+E\+\_\+\+E\+X\+T\+E\+R\+N\+A\+L\+\_\+\+P\+A\+R\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+S\+T\+R\+I\+NG, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, E\+I\+N\+A\+\_\+\+T\+R\+UE, \+\_\+\+Edje\+\_\+\+External\+\_\+\+Param\+::s, and \+\_\+\+Edje\+\_\+\+External\+\_\+\+Param\+::type.

\mbox{\Hypertarget{group__Edje__External__Plugin__Development__Group_gac177865ee5cfc626c632981625e80d19}\label{group__Edje__External__Plugin__Development__Group_gac177865ee5cfc626c632981625e80d19}} 
\index{Edje Development of External Plugins@{Edje Development of External Plugins}!edje\+\_\+external\+\_\+param\+\_\+bool\+\_\+get@{edje\+\_\+external\+\_\+param\+\_\+bool\+\_\+get}}
\index{edje\+\_\+external\+\_\+param\+\_\+bool\+\_\+get@{edje\+\_\+external\+\_\+param\+\_\+bool\+\_\+get}!Edje Development of External Plugins@{Edje Development of External Plugins}}
\subsubsection{\texorpdfstring{edje\+\_\+external\+\_\+param\+\_\+bool\+\_\+get()}{edje\_external\_param\_bool\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} edje\+\_\+external\+\_\+param\+\_\+bool\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$}]{params,  }\item[{const char $\ast$}]{key,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} $\ast$}]{ret }\end{DoxyParamCaption})}



Gets the value of the given parameter of boolean type. 

Look for the {\ttfamily key} parameter in the {\ttfamily params} list and return its value in {\ttfamily ret}. If the parameter is found and is of type \mbox{\hyperlink{group__Edje__External__Group_gga33ecfac7110751d5e09bb2e3a4458d24ac35b4575945a022aacaf6052030f4cd0}{E\+D\+J\+E\+\_\+\+E\+X\+T\+E\+R\+N\+A\+L\+\_\+\+P\+A\+R\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+O\+OL}}, its value will be stored in the Eina\+\_\+\+Bool pointed by {\ttfamily ret}, returning E\+I\+N\+A\+\_\+\+T\+R\+UE. In any other case, the function returns E\+I\+N\+A\+\_\+\+F\+A\+L\+SE.


\begin{DoxyParams}{Parameters}
{\em params} & List of parameters where to look \\
\hline
{\em key} & Name of the parameter to fetch \\
\hline
{\em ret} & Eina\+\_\+\+Bool pointer where to store the value, must not be N\+U\+LL.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if the parameter was found and is of boolean type, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 
\end{DoxyReturn}


References edje\+\_\+external\+\_\+param\+\_\+find(), E\+D\+J\+E\+\_\+\+E\+X\+T\+E\+R\+N\+A\+L\+\_\+\+P\+A\+R\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+O\+OL, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, E\+I\+N\+A\+\_\+\+T\+R\+UE, \+\_\+\+Edje\+\_\+\+External\+\_\+\+Param\+::i, and \+\_\+\+Edje\+\_\+\+External\+\_\+\+Param\+::type.

\mbox{\Hypertarget{group__Edje__External__Plugin__Development__Group_ga6959e80b3d128a4b11d08548a87c6ad3}\label{group__Edje__External__Plugin__Development__Group_ga6959e80b3d128a4b11d08548a87c6ad3}} 
\index{Edje Development of External Plugins@{Edje Development of External Plugins}!edje\+\_\+external\+\_\+param\+\_\+choice\+\_\+get@{edje\+\_\+external\+\_\+param\+\_\+choice\+\_\+get}}
\index{edje\+\_\+external\+\_\+param\+\_\+choice\+\_\+get@{edje\+\_\+external\+\_\+param\+\_\+choice\+\_\+get}!Edje Development of External Plugins@{Edje Development of External Plugins}}
\subsubsection{\texorpdfstring{edje\+\_\+external\+\_\+param\+\_\+choice\+\_\+get()}{edje\_external\_param\_choice\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} edje\+\_\+external\+\_\+param\+\_\+choice\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$}]{params,  }\item[{const char $\ast$}]{key,  }\item[{const char $\ast$$\ast$}]{ret }\end{DoxyParamCaption})}



Gets the value of the given parameter of choice type. 

Look for the {\ttfamily key} parameter in the {\ttfamily params} list and return its value in {\ttfamily ret}. If the parameter is found and is of type \mbox{\hyperlink{group__Edje__External__Group_gga33ecfac7110751d5e09bb2e3a4458d24a90ac499b47ea610bc347a3890b9e1e66}{E\+D\+J\+E\+\_\+\+E\+X\+T\+E\+R\+N\+A\+L\+\_\+\+P\+A\+R\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+O\+I\+CE}}, its value will be stored in the string pointed by {\ttfamily ret}, returning E\+I\+N\+A\+\_\+\+T\+R\+UE. In any other case, the function returns E\+I\+N\+A\+\_\+\+F\+A\+L\+SE.

The string stored in {\ttfamily ret} must not be freed or modified.


\begin{DoxyParams}{Parameters}
{\em params} & List of parameters where to look \\
\hline
{\em key} & Name of the parameter to fetch \\
\hline
{\em ret} & String pointer where to store the value, must not be N\+U\+LL.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE if the parameter was found and is of integer type, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE otherwise. 
\end{DoxyReturn}


References edje\+\_\+external\+\_\+param\+\_\+find(), E\+D\+J\+E\+\_\+\+E\+X\+T\+E\+R\+N\+A\+L\+\_\+\+P\+A\+R\+A\+M\+\_\+\+T\+Y\+P\+E\+\_\+\+C\+H\+O\+I\+CE, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, E\+I\+N\+A\+\_\+\+T\+R\+UE, \+\_\+\+Edje\+\_\+\+External\+\_\+\+Param\+::s, and \+\_\+\+Edje\+\_\+\+External\+\_\+\+Param\+::type.

\mbox{\Hypertarget{group__Edje__External__Plugin__Development__Group_ga3e346e0e3d79892047e54e8ee10c2a72}\label{group__Edje__External__Plugin__Development__Group_ga3e346e0e3d79892047e54e8ee10c2a72}} 
\index{Edje Development of External Plugins@{Edje Development of External Plugins}!edje\+\_\+external\+\_\+param\+\_\+info\+\_\+get@{edje\+\_\+external\+\_\+param\+\_\+info\+\_\+get}}
\index{edje\+\_\+external\+\_\+param\+\_\+info\+\_\+get@{edje\+\_\+external\+\_\+param\+\_\+info\+\_\+get}!Edje Development of External Plugins@{Edje Development of External Plugins}}
\subsubsection{\texorpdfstring{edje\+\_\+external\+\_\+param\+\_\+info\+\_\+get()}{edje\_external\_param\_info\_get()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{group__Edje__External__Group_ga3359e717990957d49d9fb5f32843bcfc}{Edje\+\_\+\+External\+\_\+\+Param\+\_\+\+Info}}$\ast$ edje\+\_\+external\+\_\+param\+\_\+info\+\_\+get (\begin{DoxyParamCaption}\item[{const char $\ast$}]{type\+\_\+name }\end{DoxyParamCaption})}



Gets the array of parameters information about a type given its name. 

\begin{DoxyNote}{Note}
the type names and other strings are static, that means they are {\bfseries N\+OT} translated. One must use \mbox{\hyperlink{group__Edje__Part__Text_gae3b1faffa651ecc55193d4afff6c201d}{Edje\+\_\+\+External\+\_\+\+Type\+::translate()}} to translate those.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em type\+\_\+name} & Edje external type name\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the N\+U\+LL terminated array, or {\ttfamily N\+U\+LL} if type is unknown or it does not have any parameter information.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Edje__External__Plugin__Development__Group_ga53d3116ca7d1d8feb2d39e0bb652564a}{edje\+\_\+external\+\_\+type\+\_\+get()}} 
\end{DoxySeeAlso}


References eina\+\_\+hash\+\_\+find().

