Lua Utils
Biblioteca utilitária para facilitar a integração de Lua com C++
luaFunction.h
Go to the documentation of this file.
1 /************************************************************************
2 **
3 ** Copyright (C) 2009 K2FS Sistemas e Projetos Ltd.
4 ** All rights reserved.
5 **
6 ************************************************************************/
7 
18 #ifndef _LUAFUNCTION_H_
19 #define _LUAFUNCTION_H_
20 
21 #include <QVariant>
22 #include "luaObjRef.h"
23 
27 class LUAUTILS_API_EXPORT LuaFunction : public LuaObjRef
28 {
29 public:
30  LuaFunction();
31  LuaFunction(const LuaFunction& other);
32  LuaFunction(LuaEnv* lua, int index, bool ref = false);
33  ~LuaFunction();
34 
35  bool call(int nresults, QString& err) const;
36  bool call(QVariant a1, int nresults, QString& err) const;
37  bool call(QVariant a1, QVariant a2, int nresults, QString& err) const;
38  bool call(QVariant a1, QVariant a2, QVariant a3, int nresults, QString& err) const;
39  bool call(QVariant a1, QVariant a2, QVariant a3, QVariant a4, int nresults, QString& err) const;
40  bool call(QVariant a1, QVariant a2, QVariant a3, QVariant a4, QVariant a5, int nresults, QString& err) const;
41  bool call(QVariant a1, QVariant a2, QVariant a3, QVariant a4, QVariant a5, QVariant a6, int nresults, QString& err) const;
42 
43  static bool callFunction(LuaEnv* lua, QString name, int nresults, QString& err);
44  static bool callFunction(LuaEnv* lua, QString name, QVariant a1, int nresults, QString& err);
45  static bool callFunction(LuaEnv* lua, QString name, QVariant a1, QVariant a2, int nresults, QString& err);
46  static bool callFunction(LuaEnv* lua, QString name, QVariant a1, QVariant a2, QVariant a3, int nresults, QString& err);
47  static bool callFunction(LuaEnv* lua, QString name, QVariant a1, QVariant a2, QVariant a3, QVariant a4, int nresults, QString& err);
48  static bool callFunction(LuaEnv* lua, QString name, QVariant a1, QVariant a2, QVariant a3, QVariant a4, QVariant a5, int nresults, QString& err);
49  static bool callFunction(LuaEnv* lua, QString name, QVariant a1, QVariant a2, QVariant a3, QVariant a4, QVariant a5, QVariant a6, int nresults, QString& err);
50 
51  static bool doCall(LuaEnv* lua, int nparams, int nresults, QString& err);
52 };
53 
56 
57 
58 #endif
59 
Classe para interface com ambientes Lua, modelando uma função.
Definition: luaFunction.h:27
Classe para interface com ambientes Lua.
Definition: luaEnv.h:34
Classe para interface com ambientes Lua, modelando uma referência para um objeto.
Definition: luaObjRef.h:27
Definicao da classe LuaObjRef.
Q_DECLARE_METATYPE(LuaFunction)
Cadastra tipo para este poder ser utilizado em um QVariant.