Lua Utils
Biblioteca utilitária para facilitar a integração de Lua com C++
Public Member Functions | List of all members
AutoLuaEnv Class Reference

#include <luaEnv.h>

Inheritance diagram for AutoLuaEnv:
Inheritance graph
[legend]
Collaboration diagram for AutoLuaEnv:
Collaboration graph
[legend]

Public Member Functions

 AutoLuaEnv (int libOptions=LIB_ALL)
 Construtor. Cria um novo ambiente lua que será destruído junto com o objeto. More...
 
 ~AutoLuaEnv ()
 Destrutor. Fecha o ambiente lua.
 
- Public Member Functions inherited from LuaEnv
 LuaEnv ()
 Construtor padrão. Cria objeto com ambiente Lua vazio. More...
 
 LuaEnv (lua_State *state)
 Construtor. Cria um LuaEnv a partir de um ambiente Lua pré-existente.
 
 ~LuaEnv ()
 Destrutor. Ambiente Lua NÃO é fechado automaticamente.
 
bool newState (int libOptions=LIB_ALL)
 Cria um novo ambiente lua e o inicializa com as funções das bibliotecas especificadas Se a biblioteca está compilada com uso de espaço extra, zera este espaço. More...
 
void closeState ()
 Fecha o estado Lua.
 
void removeSymbols (const QStringList &symbolNames)
 Atribui nil aos símbolos presentes na tabela recebida, removendo-os do ambiente. More...
 
void setState (lua_State *state)
 Altera o ambiente Lua armazenado. Ambiente anterior, se existente, NÃO é fechado.
 
lua_State * state ()
 Retorna o estado Lua armazenado.
 
 operator lua_State * ()
 Operador para converter um LuaEnv em um lua_State.
 
void redirectOutput (RedirectedOutputCb cb, void *context)
 Redireciona o output produzido pelo script para a callback especificada.
 
void replaceDofile (QString table="", ScriptNameFilterCb scriptNameFilter=NULL, void *scriptNameFilterContext=NULL)
 Substitui o método dofile() para que este passe a usar a função runRsrcScript() para carregar arquivos. Se table != "", usa a mesma como ambiente de destino para variáveis globais. Se scriptNameFilter for diferente de NULL, esta função será chamada, a cada dofile, para que o usuário possa alterar o nome do script usado para mensagens de erro.
 
void setDofileTable (QString table)
 Updates the table where dofile functions should be executed.
 
void setRsrcPath (const QStringList &pathList)
 Altera a lista de paths utilizados para busca de resoures na função runRsrcScript()
 
const QStringListrsrcPath () const
 Retorna lista de paths considerados para carga de resurces por runRsrcScript()
 
bool runScript (QString file, QString table, QString &err)
 Carrega e executa script contido no arquivo recebido como parâmetro. More...
 
bool runRsrcScript (QString file, QString table, QString &err)
 Carrega e executa script contido no resource recebido como parâmetro. More...
 
bool runVerifiedRsrcScript (QString file, QString table, QString hash, bool encoded, QString &err)
 Carrega e executa script contido no resource recebido como parâmetro, decodificando o mesmo (se necessário) e conferindo se o hash do script confere com o hash recebido como parâmetro. More...
 
bool runScriptStr (QString script, QString table, QString &err)
 Sobrecarrega runScriptStr() passando "" como nome do script.
 
bool runScriptStr (QString script, QString table, QString name, QString &err)
 Carrega e executa script contido na string recebida como parâmetro. More...
 
bool runScriptStr (QByteArray &script, QString table, QString name, QString &err)
 Carrega e executa script contido no byte array recebido como parâmetro. More...
 
void setLoadTableEnv (int tableRef=LUA_NOREF)
 Cadastra referência para uma tabela que será utilizada como ambiente global pelas diversas funções de carga de scripts. Utilize LUA_NOREF para cancelar o uso desta tabela. Se uma referência válida for setada, esta terá precedência sobre qualquer nome de tabela passado como parâmetro para as funções de carga de script.
 
void registerFunctions (const FunctionRegister *reg, const char *table=NULL)
 Se table for igual a NULL, cadastra funções presentes na lista reg no ambiente global. Caso contrário, cria tabela, seta a mesma na variável global table e cadastra as funções nesta nova tabela.
 
void registerFunction (const char *globalName, lua_CFunction func, void *userdata_1=NULL, void *userdata_2=NULL)
 Associa a função func com a variável global globalName. More...
 
QVariant getGlobal (const char *name, StackOption opt=STACK_AUTO)
 Obtem o valor da variavel global recebida como parâmetro. More...
 
QVariant getGlobal (QString name, StackOption opt=STACK_AUTO)
 Método sobrecarregado recebendo um QString.
 
void setGlobal (const char *name, const QVariant &val)
 Seta variável global com o valor recebido como parâmetro. More...
 
void setGlobal (QString name, const QVariant &val)
 Método sobrecarregado recebendo um QString.
 
QVariant toVariant (StackOption opt, int index=-1)
 Retorna o valor contido no topo da pilha como um QVariant. Se index for diferente de -1, retorna o valor associado com este índice. More...
 
void pushVariant (const QVariant &val)
 Coloca val no topo da pilha.
 
void pop (int num=1)
 Remove num elementos da pilha.
 
int top ()
 Retorna índice do elemento no topo da pilha.
 
void setTop (int index)
 Altera topo da pilha para o indice recebido como parâmetro.
 
QVariant getLocal (const char *name, StackOption opt=STACK_AUTO)
 Obtem o valor da variavel local recebida como parâmetro através do uso da interface de debug do Lua. More...
 
QVariant getLocal (QString name, StackOption opt=STACK_AUTO)
 Método sobrecarregado recebendo um QString.
 

Additional Inherited Members

- Public Types inherited from LuaEnv
enum  StackOption { STACK_POP, STACK_NOPOP, STACK_AUTO }
 Opções de manipulação de pilha. More...
 
enum  LibraryOptions {
  LIB_BASE = 0x01, LIB_TABLE = 0x02, LIB_IO = 0x04, LIB_OS = 0x08,
  LIB_STRING = 0x10, LIB_MATH = 0x20, LIB_DEBUG = 0x40, LIB_PACKAGE = 0x80,
  LIB_ALL = 0xFF
}
 Opçoes de bibliotecas a serem carregadas na inicialização do estado. More...
 
typedef luaL_Reg FunctionRegister
 Tipo para tabela de funções a serem registradas no ambiente.
 
typedef void(* RedirectedOutputCb) (void *context, QString str)
 Tipo para callback chamada para redirecionamento de output.
 
typedef QString(* ScriptNameFilterCb) (void *context, QString scriptName)
 Tipo para callback chamada para ajustar o nome do script usado em mensagens de erro para arquivos carregados pela função dofile substituida por replaceDofile()
 
- Static Public Member Functions inherited from LuaEnv
static bool isIdentifier (QString str)
 Returns true if the given string can be used as a Lua identifier, false if not. More...
 
static QString quote (QString str)
 Retorna uma versão da string recebida envolta por aspas ("xxx") e contendo os escape codes necessários.
 
static QVariantclearReferences (QVariant &obj, bool useLists, bool firstLevelIsMap, bool allowFunctions)
 Removes table and function references from the given QVariant. More...
 

Detailed Description

Aplicação do modelo RAII à classe LuaEnv. No construtor cria um novo ambiente Lua e o inicializa. No destrutor fecha o ambiente

Constructor & Destructor Documentation

◆ AutoLuaEnv()

AutoLuaEnv::AutoLuaEnv ( int  libOptions = LIB_ALL)
inline

Construtor. Cria um novo ambiente lua que será destruído junto com o objeto.

Para uma descrição do parâmetro libOptions, veja a descrição da função LuaEnv::newState()


The documentation for this class was generated from the following file: