Re: [libgpiod][RFC/RFT 00/18] dbus: add GLib-based DBus daemon and command-line client

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

 



On Fri, Apr 12, 2024 at 02:27:46PM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
> 
> This has been in the works for a long time but I'm finally ready to share it
> with the world. This introduces the DBus API definition and its implementation
> in the form of a GPIO manager daemon and a companion command-line client as
> well as GLib bindings to libgpiod which form the base on which the former are
> built.
> 
> Please note that while the functionality is complete, the dbus part still
> requires some work (bug fixing, corner-cases, general ironing out of all the
> wrinkles, a lot of code could be refactored too). This is why the series is
> marked as RFC/RFT. I want to get it out for reviews and first tests before I
> leave for EOSS and later on vacation. I am aware of some instabilities so don't
> be surprised by an occasional segfault.
> 
> While I split the GLib and DBus code into several commits for easier review,
> I intend to apply all changes to bindings/glib/ and dbus/ as two big commits
> in the end as otherwise the split commits are not buildable until all of them
> are applied.
> 
> The main point of interest is the DBus interface definition XML at
> dbus/lib/io.gpiod1.xml as it is what defines the actual DBus API. Everything
> else can be considered as implementation details as it's easier to change
> later than the API that's supposed to be stable once released.
> 
> The first two patches expose the test infrastructure we use for the core
> library and tools to the GLib bindings and dbus code. Next we add the GLib
> bindings themselves. Not much to discuss here, they cover the entire libgpiod
> API but wrap it in GObject abstractions and plug into the GLib event loop.
> 
> Finally we add the DBus code that's split into the daemon and command-line
> client. I added some examples to the README and documented the behavior in
> the help text of the programs as well as documented the interface file with
> XML comments that gdbus-codegen can parse and use to generate docbook output.
> 
> For DBus, most of the testing happens in the command-line client bash tests.
> It has a very good coverage of the daemon's code and also allows to run the
> daemon through valgrind and verify there are no memory leaks and invalid
> accesses. I still intend to extend the C test-suite for DBus with some corner
> cases but didn't not have enough time for it.

I might have time to briefly look at this code, but I can't test right away as
I have no setup that uses D-Bus, all what I use is a simplest Buildroot +
Busybox.

-- 
With Best Regards,
Andy Shevchenko






[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux