|
Tiago KatcipisFrom your description i can see everything i wanted on Lua regarding DBus since ever and never got the time to do it. I work on heavily DBus/GDBus/Glib based projects and now it seems that Lua is an option again when writing new DBus services (right now I'm playing a little with Vala).Thanks a lot for sharing this.
Best regards,On Fri, Jun 14, 2013 at 4:59 PM, Glenn Schmottlach <gschmottlach@gmail.com> wrote:
Finally, I would like to thank my employer (XS-Embedded - www.xse.com) for sponsoring this work and allowing me to contribute it completely unencumbered to the larger Lua community. I hope it proves to be useful for some of you.This is the 1.0.0 release so there may be some rough spots and bugs that are still undetected. Time permitting, I plan on continuing to develop this binding and hope the Lua community will be generous with suggestions or help identifying issues (patches are appreciated as well ;-).* Limited dependencies and small footprint- Should be compatible with LuaJIT- Compiles cleanly under Lua 5.2 but I haven't done testing on that platform (yet)* Developed and tested with Lua 5.1* Supports *all* D-Bus types (including the container types like structures, dictionaries, arrays, Int64, etc...)* Integrates nicely with the Lua libev binding[2]* Built on top of the battle-tested Freedesktop D-Bus reference library* Supports both synchronous and asynchronous (blocking/non-blocking) client/server implementations- Other foreign main loops (qt, evas_core, etc...) could be added with some work* Supports multiple "main loop" implementations: currently libev[1] and Glib are supported* Single threaded but can be utilized with coroutinesThe binding currently offers these features:I am pleased to announce the release of a new MIT licensed Lua binding to Linux's D-Bus IPC library.The development of this binding was inspired by others and has been under development for quite some time. Hopefully those of you who utilize Lua on Linux platforms (particularly embedded) will appreciate having complete unfettered access to D-Bus for your development needs.
* Supports D-Bus Introspection- Dynamically generates proxy bindings based on introspection XML data* Provides many high/low level APIs* Fully documented API courtesy of LDoc[3] (thank you Steve D.)
- Does *not* require Glib (no dependencies on GObject)
* Already supports cross-compiling (tested on ARM)* Several test applications that demonstrate various featuresThe L2DBUS module consists of both Lua code and a 'C' module that utilizes a secondary 'C' library (CDBUS[4]) that partially wraps the D-Bus reference library. For those of you involved with embedded work, the CDBUS project provides a minimal, primitive wrapper around D-Bus that might prove useful for some applications. Unfortunately, it's not heavily documented at this time.
L2BUS Links:
Project: https://github.com/xs-embedded-llc/l2dbus
API Docs: http://xs-embedded-llc.github.io/l2dbus/api/index.html
References:
[1] http://software.schmorp.de/pkg/libev.html
[2] https://github.com/brimworks/lua-ev
[3] https://github.com/stevedonovan/LDoc
[4] https://github.com/xs-embedded-llc/cdbus