[systemd-devel] [PATCH 0/4] [RFC v1] gdbus: Preliminary kdbus-support patches

Karol Lewandowski k.lewandowsk at samsung.com
Thu Nov 21 03:33:48 PST 2013


[ Cced systemd-devel@ and dev at tizen mailing lists in case someone
  there would be interested too. ]

Folks,

We have recently started experimenting with possibilities of
adding kdbus-support to glib's gio.  Following patchset is
result of our work.

Please note this is cleanup of modifications available from
Tizen repositories (please see notes for details), rebased on
top of glib's master branch - 6f7d8f6294 ("gbacktrace: Print
out gdb exec errors correctly").


What we would like to accomplish by this RFC is to gather 
feedback if our approach for glib modifications is sound
for you (we do not know glib code that well).


In short:

 - This patchset adds ability for glib programs to connect
   to kdbus busses via

     DBUS_SESSION_BUS_ADDRESS=(kernel|kdbus):/dev/kdbus/0-kdbus/bus 

 - Library modifications are not all, it's required to have
   service handling org.freedesktop.DBus requests in userspace.

   Currently we use modified[3] dbus-daemon to for that
   purpose.

 - Basic functionality works - sending/receiving messages,
   signals, name registration, etc.

 - Last patch contains basic tests accompanied with README,
   please take a look there too.


We will be happy to hear any and all of your comments.

Thanks!


Notes:
======

This code originates from Tizen[1], and was imported[2] by
Ryan Lortie into glib's tizen/kdbus-dev branch.

  [1] https://review.tizen.org/gerrit/gitweb?p=platform%2Fupstream%2Fglib.git;a=summary
      
      git://review.tizen.org/platform/upstream/glib kdbus-dev

  [2] https://git.gnome.org/browse/glib/log/?h=tizen/kdbus-dev

We are the same people that did that work, precisely Lukasz Skalski
and Michal Eljasiewicz wrote all the code, I just gave it finishing
touches.

We think this patchset could replace glibs tizen/kdbus-dev iff you
think that it's worth to keep kdbus support code in main repo at
all. ;)   (At this point in time, that is!)

Moreover, we would be more than happy to work directly on that
branch, if you find it feasible.


kdbus-enabled dbus-daemon is available here:

  [3]  git://review.tizen.org/platform/upstream/dbus kdbus-dev

We are aware that in future it will be probably systemd role
to provide it (I've seen that Daniel Mack is already working
on it).


Karol Lewandowski (4):
  gdbus: Import kdbus interface header
  gdbus: Add preliminary implementation of kdbus support
  gdbus: Integrate kdbus into GDBus core
  gdbus: Add basic kdbus tests

 configure.ac                                      |   11 +
 gio/Makefile.am                                   |    4 +
 gio/gdbusaddress.c                                |   80 +-
 gio/gdbusconnection.c                             |   20 +-
 gio/gdbusprivate.c                                |  211 +++-
 gio/gdbusprivate.h                                |    8 +-
 gio/giotypes.h                                    |   33 +
 gio/gkdbus.c                                      | 1112 +++++++++++++++++++++
 gio/gkdbus.h                                      |  113 +++
 gio/gkdbusconnection.c                            |  196 ++++
 gio/gkdbusconnection.h                            |   91 ++
 gio/kdbus.h                                       |  436 ++++++++
 gio/tests/Makefile.am                             |   13 +
 gio/tests/kdbus-test/README                       |  108 ++
 gio/tests/kdbus-test/gdbus-example-kdbus-client.c |   51 +
 gio/tests/kdbus-test/gdbus-example-kdbus-server.c |  117 +++
 16 files changed, 2572 insertions(+), 32 deletions(-)
 create mode 100644 gio/gkdbus.c
 create mode 100644 gio/gkdbus.h
 create mode 100644 gio/gkdbusconnection.c
 create mode 100644 gio/gkdbusconnection.h
 create mode 100644 gio/kdbus.h
 create mode 100644 gio/tests/kdbus-test/README
 create mode 100644 gio/tests/kdbus-test/gdbus-example-kdbus-client.c
 create mode 100644 gio/tests/kdbus-test/gdbus-example-kdbus-server.c

-- 
1.8.4.rc3



More information about the systemd-devel mailing list