\hypertarget{Elua_8h}{}\doxysection{Elua.\+h File Reference}
\label{Elua_8h}\index{Elua.h@{Elua.h}}


Elua Library.  


\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}}
\item 
\#define \mbox{\hyperlink{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}{EAPI}}
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \+\_\+\+Elua\+\_\+\+State \mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}}
\begin{DoxyCompactList}\small\item\em Opaque Elua state. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
EAPI int \mbox{\hyperlink{group__Elua_gacf7fc6f0386d30e4af4fcb8fd424c8dc}{elua\+\_\+init}} (void)
\begin{DoxyCompactList}\small\item\em Initialize the Elua library. \end{DoxyCompactList}\item 
EAPI int \mbox{\hyperlink{group__Elua_ga8364635553424c58bdbb50f9bb842d9b}{elua\+\_\+shutdown}} (void)
\begin{DoxyCompactList}\small\item\em Shutdown the Elua library. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$ \mbox{\hyperlink{group__Elua_gaf987730a26870534b99a933576bac1ec}{elua\+\_\+state\+\_\+new}} (const char $\ast$progname)
\begin{DoxyCompactList}\small\item\em Create a new Elua state. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$ \mbox{\hyperlink{group__Elua_ga440d9b07798523d0162cf395243a5be2}{elua\+\_\+state\+\_\+from\+\_\+lua\+\_\+state\+\_\+get}} (lua\+\_\+\+State $\ast$L)
\begin{DoxyCompactList}\small\item\em Retrieve an Elua state from a Lua state. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__Elua_ga20ec17a66199e38fe108d522bbf32349}{elua\+\_\+state\+\_\+free}} (\mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es)
\begin{DoxyCompactList}\small\item\em Destroy an Elua state. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__Elua_ga92e75b39e56082d05c2beb7bdf401a15}{elua\+\_\+state\+\_\+dirs\+\_\+set}} (\mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es, const char $\ast$core, const char $\ast$mods, const char $\ast$apps)
\begin{DoxyCompactList}\small\item\em Set the Elua directory paths. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__Elua_ga3ef02ac4acf29212793720849391d4b8}{elua\+\_\+state\+\_\+dirs\+\_\+fill}} (\mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ignore\+\_\+env)
\begin{DoxyCompactList}\small\item\em Fill the currently unset Elua dirs. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Stringshare__Group_ga2b7dc19609a55e630a96cc1396e38a53}{Eina\+\_\+\+Stringshare}} $\ast$ \mbox{\hyperlink{group__Elua_ga6a1fd985975cf6cb22441aa419b5bd2d}{elua\+\_\+state\+\_\+core\+\_\+dir\+\_\+get}} (const \mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es)
\begin{DoxyCompactList}\small\item\em Retrieve the Elua core dir. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Stringshare__Group_ga2b7dc19609a55e630a96cc1396e38a53}{Eina\+\_\+\+Stringshare}} $\ast$ \mbox{\hyperlink{group__Elua_ga3dba5ae7f1aaefd681c4e4c219d9cabe}{elua\+\_\+state\+\_\+mod\+\_\+dir\+\_\+get}} (const \mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es)
\begin{DoxyCompactList}\small\item\em Retrieve the Elua module dir. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Stringshare__Group_ga2b7dc19609a55e630a96cc1396e38a53}{Eina\+\_\+\+Stringshare}} $\ast$ \mbox{\hyperlink{group__Elua_ga2876193e67462944422bbae57d796bee}{elua\+\_\+state\+\_\+apps\+\_\+dir\+\_\+get}} (const \mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es)
\begin{DoxyCompactList}\small\item\em Retrieve the Elua apps dir. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Stringshare__Group_ga2b7dc19609a55e630a96cc1396e38a53}{Eina\+\_\+\+Stringshare}} $\ast$ \mbox{\hyperlink{group__Elua_gad5d34af0d7ad95327b368e1c99614e2b}{elua\+\_\+state\+\_\+prog\+\_\+name\+\_\+get}} (const \mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es)
\begin{DoxyCompactList}\small\item\em Retrieve the prog name set on state creation. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__Elua_ga1c0e7c790bcfb9f0e9b19295d6e953f4}{elua\+\_\+state\+\_\+include\+\_\+path\+\_\+add}} (\mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es, const char $\ast$path)
\begin{DoxyCompactList}\small\item\em Add another path to look up modules in to the state. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Elua_gaa25a6712cc9fe309050b90f577ed4721}{elua\+\_\+state\+\_\+require\+\_\+ref\+\_\+push}} (\mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es)
\begin{DoxyCompactList}\small\item\em Push the Elua \char`\"{}require\char`\"{} function onto the Lua stack. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Elua_gaeb1c950c4487106cdb2ed1d915ef4dd4}{elua\+\_\+state\+\_\+appload\+\_\+ref\+\_\+push}} (\mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es)
\begin{DoxyCompactList}\small\item\em Push the Elua app loader function onto the Lua stack. \end{DoxyCompactList}\item 
EAPI lua\+\_\+\+State $\ast$ \mbox{\hyperlink{group__Elua_ga86f07252060fe9ab1a2984d68f595d15}{elua\+\_\+state\+\_\+lua\+\_\+state\+\_\+get}} (const \mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es)
\begin{DoxyCompactList}\small\item\em Retrieve the Lua state from an Elua state. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Elua_ga0a4d8913fce4bb564a3ae7935e1f29a5}{elua\+\_\+state\+\_\+setup}} (\mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es)
\begin{DoxyCompactList}\small\item\em Set up the Elua state. \end{DoxyCompactList}\item 
EAPI int \mbox{\hyperlink{group__Elua_gaaf5c1391a7660da2bb633e15dbeb8b68}{elua\+\_\+io\+\_\+loadfile}} (const \mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es, const char $\ast$fname)
\begin{DoxyCompactList}\small\item\em Loads a file using Elua\textquotesingle{}s own mmap-\/based IO. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Elua_gafde1f73d35f2521d3812b72b2c3542c1}{elua\+\_\+util\+\_\+require}} (\mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es, const char $\ast$libname)
\begin{DoxyCompactList}\small\item\em Requires a module. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Elua_ga7a9f852864e3e14dc517fa23ad1167c5}{elua\+\_\+util\+\_\+file\+\_\+run}} (\mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es, const char $\ast$fname)
\begin{DoxyCompactList}\small\item\em Runs a file. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Elua_ga7936ab36149c7572cc756fe5db6bf91d}{elua\+\_\+util\+\_\+string\+\_\+run}} (\mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es, const char $\ast$chunk, const char $\ast$chname)
\begin{DoxyCompactList}\small\item\em Runs a string. \end{DoxyCompactList}\item 
EAPI int \mbox{\hyperlink{group__Elua_ga8804ca091a1310f62cab73d592b55f99}{elua\+\_\+util\+\_\+app\+\_\+load}} (\mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es, const char $\ast$appname)
\begin{DoxyCompactList}\small\item\em Loads an application. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Elua_ga003f5ca8e27d1249f6531318edb65456}{elua\+\_\+util\+\_\+script\+\_\+run}} (\mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es, int argc, char $\ast$$\ast$argv, int n, int $\ast$quit)
\begin{DoxyCompactList}\small\item\em Runs a script. \end{DoxyCompactList}\item 
EAPI int \mbox{\hyperlink{group__Elua_ga9c5bed4721ba3cc5b8778c59b0c98886}{elua\+\_\+util\+\_\+error\+\_\+report}} (const \mbox{\hyperlink{group__Elua_ga688a5ca32c81bcaf4811f688c3fec981}{Elua\+\_\+\+State}} $\ast$es, int status)
\begin{DoxyCompactList}\small\item\em Reports an error using Eina logging. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Elua Library. 



\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}\label{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}} 
\index{Elua.h@{Elua.h}!EAPI@{EAPI}}
\index{EAPI@{EAPI}!Elua.h@{Elua.h}}
\doxysubsubsection{\texorpdfstring{EAPI}{EAPI}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \#define EAPI}

\hypertarget{Elua_8h_elua_intro}{}\doxysubsection{Elua library}\label{Elua_8h_elua_intro}
The Elua library was created to ease integration of EFL Lua into other EFL libraries or applications. Using the Elua library you can easily create a Lua state that is fully set up for running EFL Lua bindings.

You can find the API documentation at \mbox{\hyperlink{group__Elua}{Elua}} \mbox{\Hypertarget{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}\label{Elua_8h_a3db3556eec8ef18cb8ddb43816974ac8}} 
\index{Elua.h@{Elua.h}!EAPI@{EAPI}}
\index{EAPI@{EAPI}!Elua.h@{Elua.h}}
\doxysubsubsection{\texorpdfstring{EAPI}{EAPI}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \#define EAPI}

\hypertarget{Elua_8h_elua_intro}{}\doxysubsection{Elua library}\label{Elua_8h_elua_intro}
The Elua library was created to ease integration of EFL Lua into other EFL libraries or applications. Using the Elua library you can easily create a Lua state that is fully set up for running EFL Lua bindings.

You can find the API documentation at \mbox{\hyperlink{group__Elua}{Elua}} 