[ANN] L2DBUS - Lua binding for D-Bus

Glenn Schmottlach gschmottlach at gmail.com
Mon Jun 17 07:02:38 PDT 2013


I am pleased to announce the release of a new MIT licensed Lua binding to
D-Bus.

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.

The binding currently offers these features:

* Single threaded but can be utilized with coroutines
* Supports multiple "main loop" implementations: currently libev[1] and
Glib are supported
     - Other foreign main loops (qt, evas_core, etc...) could be added with
some work
* Supports both synchronous and asynchronous (blocking/non-blocking)
client/server implementations
* Built on top of the standard Freedesktop D-Bus reference library
* Integrates nicely with the Lua libev binding[2]
* Supports *all* D-Bus types (including the container types like
structures, dictionaries, arrays, Int64, etc...)
* 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]
* Developed and tested with Lua 5.1
     - Compiles cleanly under Lua 5.2 but I haven't done testing on that
platform (yet)
     - Should be compatible with LuaJIT
* Limited dependencies and small footprint
     - Does *not* require Glib (no dependencies on GObject)
* Already supports cross-compiling (tested on ARM)
* Several test applications that demonstrate various features

The 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.

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 those who are interested will be generous with suggestions
or help identifying issues (patches are appreciated as well ;-).

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 D-Bus and Lua communities. I hope it proves to
be useful for some of you.

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dbus/attachments/20130617/e7920029/attachment.html>


More information about the dbus mailing list