Uli Schlachter
8701295e6c
Track the number of objects
...
With this patch, we track the number of objects that are alive for any class.
This information can be accessed via class.instances()
For example:
print("wiboxes", wibox.instances())
print("widgets", widget.instances())
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-17 17:39:41 +02:00
Uli Schlachter
eae3e5b9c4
luaclass properties: Use C strings
...
This modifies the lua class code to use C strings instead of the tokens
generated via gperf.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-01 15:41:41 +02:00
Uli Schlachter
ab4c151ed8
Add signals before using them
...
This commit makes it an error if an unknown signal is connected, disconnected or
emitted. All signals have to be added before they can be used.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-25 23:00:36 +02:00
Uli Schlachter
948f960b7e
Also rename the signal_* C function
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-08-25 20:48:42 +02:00
Julien Danjou
6d332f07a0
lua{class,object}: rename signals functions
...
I knew this was wrong at the beginning, f*ck.
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-08-25 20:28:20 +02:00
Julien Danjou
f523b37e1d
lua{class,object}: {add,remove}_signal() take lua_CFunction as arg
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-08-25 20:14:55 +02:00
Julien Danjou
f7746a198c
luaclass: take care of inheritance garbage collection
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-28 13:27:49 +02:00
Julien Danjou
fccc451f89
luaclass: add inheritance support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-05-28 13:27:04 +02:00
Julien Danjou
d8c0f516ba
luaclass: implement object checking
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-10-27 12:16:30 +01:00
Julien Danjou
4d0a025f51
luaclass: add handling of {new,}index of missing properties (FS#584)
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou
f111d0cab1
luaclass: use signal_object_emit
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou
dc61d258f0
luaclass: optimize type handling
...
We use lua_class_t pointer as key in the registry to store metatable we
will compare.
lauxlib uses a string, which sucks, because it forces to do a
pushliteral() each time you want to get a metatable from the registry,
which is slower.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou
6cfaafbab3
luaclass: remove useless property name
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-20 16:46:33 +02:00
Julien Danjou
45702de158
luaclass: add support for new()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:45:17 +02:00
Julien Danjou
1300b16c1e
luaclass: add generic {new,}index meta methods
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:45:14 +02:00
Julien Danjou
537506a0c1
luaclass: add property array handling in classes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-17 17:45:10 +02:00
Julien Danjou
284338532b
luaobject: add type recognition
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 15:48:19 +02:00
Julien Danjou
706d545076
luaclass: register class in an array
...
That should permit class identification.
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 15:48:19 +02:00
Julien Danjou
4003ef726f
luaclass: import class system
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 15:48:18 +02:00