lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]





On Sun, Jun 16, 2013 at 11:42 AM, Glenn Schmottlach <gschmottlach@gmail.com> wrote:
I certainly hope the L2DBUS binding fits your use-case and would appreciate any feedback you can provide. We intend to use it heavily for much of our middle-ware development on embedded Linux platforms. I love Lua but was always a bit disappointed (and surprised) that there wasn't a more complete D-Bus binding for the language like what is available for Python and others.

Same here :-). I don't know when i will be able to give it a try, right now all processes are written on C or Vala (the experimental one). But i can assure you that if i use it i will give all feedback possible, and even some fixes :-) (it is quite annoying to have people only complaining isn't it? :-)
 
I hope this package will continue to evolve to fill that niche for Lua. I can certainly understand why you might investigate using Vala because using the GObject framework directly from 'C' can become tedious.

It is extremely tedious...even with GDBus code generator, asynchronous DBus handling is C is painful :-(.

 

Glenn


On Sat, Jun 15, 2013 at 3:35 PM, Tiago Katcipis <katcipis@inf.ufsc.br> wrote:
From 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,
Tiago Katcipis


On Fri, Jun 14, 2013 at 4:59 PM, Glenn Schmottlach <gschmottlach@gmail.com> wrote:
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.

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 battle-tested 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] (thank you Steve D.)
* 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 the Lua community 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 Lua community. I hope it proves to be useful for some of you.