51 virtual void* getClassMetatableID() = 0;
68 virtual void populateMetatable(lua_State* L,
int index) = 0;
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");
196 template <
typename T>
213 static int classID = 0;
220 lua_pushstring(L,
"__gc");
221 lua_pushcfunction(L,
l___gc);
222 lua_settable(L, index);
233 LuaSimpleProxy<T> * proxy = LuaProxy::toObjectOfClass< LuaSimpleProxy<T> >(L, 1);
235 return luaL_error(L,
"LuaSimpleProxy garbage collector called on incorrect object type.");
248 template <
typename T>
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.");
319 template <
typename T, const
char* typeName>
329 lua_pushstring(L, typeName);
330 lua_setfield(L, index,
"__typeName");
static T * toObjectOfClass(lua_State *L, int index)
Definition: luaProxy.h:112
T * _obj
Objeto encapsulado.
Definition: luaProxy.h:284
static T * checkObjectOfClass(lua_State *L, int index)
Definition: luaProxy.h:138
T * get()
Definition: luaProxy.h:263
static int l___gc(lua_State *L)
Método de coleta de lixo. Deleta o proxy.
Definition: luaProxy.h:287
T _obj
Objeto encapsulado.
Definition: luaProxy.h:226
static T * toObjectOfClass(const QVariant &v)
Definition: luaProxy.h:125
Definition: luaProxy.h:320
Definition: luaProxy.h:32
void * getClassMetatableID()
Definition: luaProxy.h:211
void populateMetatable(lua_State *L, int index)
Definition: luaProxy.h:218
void release()
Deletes the object stored by this proxy. Further calls to get will return NULL.
Definition: luaProxy.h:266
void * getClassMetatableID()
Definition: luaProxy.h:269
T & get()
Definition: luaProxy.h:208
Definition: luaProxy.h:197
LuaSimplePtrProxy(T *obj)
Definition: luaProxy.h:255
static int l___gc(lua_State *L)
Método de coleta de lixo. Deleta o proxy.
Definition: luaProxy.h:229
Declaration of usefull configuration definitions and some compatibility options fro compiling with se...
virtual ~LuaSimplePtrProxy()
Destructor.
Definition: luaProxy.h:258
void populateMetatable(lua_State *L, int index)
Definition: luaProxy.h:326
Definition: luaProxy.h:40
void populateMetatable(lua_State *L, int index)
Definition: luaProxy.h:276
LuaSimpleProxy(const T &obj)
Definition: luaProxy.h:203
Definition: luaProxy.h:249