79 static void pushObject(lua_State* L, Base* obj);
85 static void pushMetatable(lua_State* L, Base* obj);
93 static bool isObject(lua_State* L,
int index);
101 static Base* toObject(lua_State* L,
int index);
111 template <
typename T>
114 return dynamic_cast<T *
>(toObject(L, index));
124 template <
typename T>
128 return dynamic_cast<T *
>(ptrBase);
137 template <
typename T>
140 T* ptr = toObjectOfClass<T>(L, index);
143 luaL_typerror(L, index,
"userdata");
213 static int classID = 0;
220 lua_pushstring(L,
"__gc");
221 lua_pushcfunction(L,
l___gc);
222 lua_settable(L, index);
235 return luaL_error(L,
"LuaSimpleProxy garbage collector called on incorrect object type.");
271 static int classID = 0;
278 lua_pushstring(L,
"__gc");
279 lua_pushcfunction(L,
l___gc);
280 lua_settable(L, index);
293 return luaL_error(L,
"LuaSimplePtrProxy garbage collector called on incorrect object type.");
319template <
typename T, const
char* typeName>
329 lua_pushstring(L, typeName);
330 lua_setfield(L, index,
"__typeName");
virtual void * getClassMetatableID()=0
virtual void populateMetatable(lua_State *L, int index)=0
static T * toObjectOfClass(const QVariant &v)
Definition luaProxy.h:125
static T * checkObjectOfClass(lua_State *L, int index)
Definition luaProxy.h:138
static T * toObjectOfClass(lua_State *L, int index)
Definition luaProxy.h:112
Definition luaProxy.h:198
T _obj
Objeto encapsulado.
Definition luaProxy.h:226
void * getClassMetatableID()
Definition luaProxy.h:211
LuaSimpleProxy(const T &obj)
Definition luaProxy.h:203
static int l___gc(lua_State *L)
Método de coleta de lixo. Deleta o proxy.
Definition luaProxy.h:229
T & get()
Definition luaProxy.h:208
void populateMetatable(lua_State *L, int index)
Definition luaProxy.h:218
Definition luaProxy.h:250
T * _obj
Objeto encapsulado.
Definition luaProxy.h:284
LuaSimplePtrProxy(T *obj)
Definition luaProxy.h:255
void release()
Deletes the object stored by this proxy. Further calls to get will return NULL.
Definition luaProxy.h:266
virtual ~LuaSimplePtrProxy()
Destructor.
Definition luaProxy.h:258
T * get()
Definition luaProxy.h:263
void populateMetatable(lua_State *L, int index)
Definition luaProxy.h:276
static int l___gc(lua_State *L)
Método de coleta de lixo. Deleta o proxy.
Definition luaProxy.h:287
void * getClassMetatableID()
Definition luaProxy.h:269
Definition luaProxy.h:321
void populateMetatable(lua_State *L, int index)
Definition luaProxy.h:326
Declaration of useful configuration definitions and some compatibility options fro compiling with sev...