![]() |
Lua Utils
Biblioteca utilitária para facilitar a integração de Lua com C++
|
Classe para interface com ambientes Lua, modelando uma função. More...
#include <luaFunction.h>
Public Member Functions | |
LuaFunction () | |
Construtor default. | |
LuaFunction (const LuaFunction &other) | |
Construtor de cópia. Gera nova referência para a mesma tabela Lua. | |
LuaFunction (LuaEnv *lua, int index, bool ref=false) | |
Cria objeto encapsulando a tabela presente no indice recebido como parâmetro. More... | |
~LuaFunction () | |
Destrutor. | |
bool | call (int nresults, QString &err) const |
Chama função, sem passar nenhum argumento. More... | |
bool | call (QVariant a1, int nresults, QString &err) const |
Overload de call() recebendo 1 parâmetro a ser passado para a função. | |
bool | call (QVariant a1, QVariant a2, int nresults, QString &err) const |
Overload de call() recebendo 2 parâmetros a serem passados para a função. | |
bool | call (QVariant a1, QVariant a2, QVariant a3, int nresults, QString &err) const |
Overload de call() recebendo 3 parâmetros a serem passados para a função. | |
bool | call (QVariant a1, QVariant a2, QVariant a3, QVariant a4, int nresults, QString &err) const |
Overload de call() recebendo 4 parâmetros a serem passados para a função. | |
bool | call (QVariant a1, QVariant a2, QVariant a3, QVariant a4, QVariant a5, int nresults, QString &err) const |
Overload de call() recebendo 5 parâmetros a serem passados para a função. | |
bool | call (QVariant a1, QVariant a2, QVariant a3, QVariant a4, QVariant a5, QVariant a6, int nresults, QString &err) const |
Overload de call() recebendo 6 parâmetros a serem passados para a função. | |
![]() | |
LuaObjRef () | |
Construtor default. | |
LuaObjRef (const LuaObjRef &other) | |
Construtor de cópia. Gera nova referência para o mesmo objeto. | |
LuaObjRef (LuaEnv *lua, int index, bool ref=false) | |
Cria objeto encapsulando o objeto presente no indice recebido como parâmetro. More... | |
~LuaObjRef () | |
Destrutor. | |
LuaObjRef & | operator= (const LuaObjRef &) |
Operador de atribuição. | |
void | makeRef () |
Se objeto armazena apenas o índice na pilha, cria nova referência para o objeto e a armazena. | |
int | ref () const |
Retorna a referência salva pelo objeto (pode ser LUA_NOREF) | |
void | push () const |
Coloca referência para o objeto no topo da pilha em Lua. | |
bool | isValid () const |
Retorna true se o objeto contiver uma referência válida (não foi construída com o construtor default) | |
LuaEnv * | env () const |
Retorna o ambiente Lua a que este objeto pertence. | |
void | adjustStackIndex (int offset) |
Adds the given (positive or negative) offset to the table's stackIndex. Should be used only for tables storing an index, and NOT for tables storing a reference. More... | |
Static Public Member Functions | |
static bool | callFunction (LuaEnv *lua, QString name, int nresults, QString &err) |
Chama função identificada por seu nome, sem passar nenhum argumento. More... | |
static bool | callFunction (LuaEnv *lua, QString name, QVariant a1, int nresults, QString &err) |
Overload de callFunction recebendo 1 parâmetro a ser passado para a função. | |
static bool | callFunction (LuaEnv *lua, QString name, QVariant a1, QVariant a2, int nresults, QString &err) |
Overload de callFunction recebendo 2 parâmetros a serem passados para a função. | |
static bool | callFunction (LuaEnv *lua, QString name, QVariant a1, QVariant a2, QVariant a3, int nresults, QString &err) |
Overload de callFunction recebendo 3 parâmetros a serem passados para a função. | |
static bool | callFunction (LuaEnv *lua, QString name, QVariant a1, QVariant a2, QVariant a3, QVariant a4, int nresults, QString &err) |
Overload de callFunction recebendo 4 parâmetros a serem passados para a função. | |
static bool | callFunction (LuaEnv *lua, QString name, QVariant a1, QVariant a2, QVariant a3, QVariant a4, QVariant a5, int nresults, QString &err) |
Overload de callFunction recebendo 5 parâmetros a serem passados para a função. | |
static bool | callFunction (LuaEnv *lua, QString name, QVariant a1, QVariant a2, QVariant a3, QVariant a4, QVariant a5, QVariant a6, int nresults, QString &err) |
Overload de callFunction recebendo 6 parâmetros a serem passados para a função. | |
static bool | doCall (LuaEnv *lua, int nparams, int nresults, QString &err) |
Chama função, passando nparams (que já devem estar na pilha) e esperando nresults resultados. Assume que a função já está na pilha sob os parâmetros. More... | |
Additional Inherited Members | |
![]() | |
int | objectPos () |
Se o objeto já está na pilha (_ref == LUA_NOREF), simplesmente retorna sua posição. Senão (estamos mantendo uma referência para o objeto), coloca o mesmo no topo da pilha e retorna esta posição. | |
![]() | |
LuaEnv * | _lua |
Estado Lua que contém o objeto. | |
int | _stackIndex |
Indice na pilha contendo o objeto. Valido se _ref == LUA_NOREF. | |
int | _ref |
Referencia para o objeto. | |
Classe para interface com ambientes Lua, modelando uma função.
Dependendo de como o objeto for construido, pode criar e guardar uma referência para a função ou simplesmente guardar a posição na pilha que a função ocupa. Neste segundo caso, o objeto é válido apenas enquanto a função continuar na mesma posição da pilha.
LuaFunction::LuaFunction | ( | LuaEnv * | lua, |
int | index, | ||
bool | ref = false |
||
) |
Cria objeto encapsulando a tabela presente no indice recebido como parâmetro.
lua | Ambiente Lua |
index | Indice da função na pilha (aceita indices negativos que são internamente convertidos para seu equivalente positivo) |
ref | Se true, armazena uma referência para a função. Se false, armazena apenas o índice da pilha onde a função está. Neste caso, o objeto se mantém válido apenas enquanto a função estiver neste indice da pilha. |
bool LuaFunction::call | ( | int | nresults, |
QString & | err | ||
) | const |
Chama função, sem passar nenhum argumento.
Resultados são mantidos na pilha. Em caso de erro a mensagem é retirada da pilha e retornada em err.
nresults | Numero de resultados da função |
err | Retorna mensagem explicativa no caso de erro |
Chama função identificada por seu nome, sem passar nenhum argumento.
Resultados são mantidos na pilha. Em caso de erro a mensagem é retirada da pilha e retornada em err.
lua | Ambiente Lua no qual a função será chamada |
name | Nome da função a ser chamada |
nresults | Numero de resultados da função |
err | Retorna mensagem explicativa no caso de erro |
Chama função, passando nparams (que já devem estar na pilha) e esperando nresults resultados. Assume que a função já está na pilha sob os parâmetros.
Resultados são mantidos na pilha. Em caso de erro a mensagem é retirada da pilha e retornada em err.
lua | Ambiente Lua no qual a função será chamada |
nparams | Numero de parâmetros na pilha |
nresults | Numero de resultados da função |
err | Retorna mensagem explicativa no caso de erro |