On Fri, 2009-08-14 at 10:43 +0300, Jussi Kukkonen wrote: > Marcel Holtmann wrote: > > Hi Patrick, > > > >> I'm having second thoughts about the decision that Jussi and I made back > >> in January about using dbus-glib as the main interface to D-Bus in the > >> syncevo-dbus-server. The main rationale at that time was that it is > >> readily available and a known quantity. > >> > >> However, after looking at some of the code that Jussi had to write to > >> make our C++ classes work as part of a D-Bus server I'm wondering > >> whether this advantage of dbus-glib is really worth it. Much of it is > >> manually written glue code between dbus-glib/GObject and C++. > > Partial reason for the large amount of code was the decision to make the > client side a C library.
And that still makes sense for the client. It's more the server side where it becomes ugly, because there the GObject/glib data types are just another unnecessary intermediate layer. > I notice that Josh has just backtracked his > similar decision in carrick/gconnman because of the reasons you > stated... On the other hand, the client code is pretty nice when using > the library. Agreed. > I had two concerns with dbus-c++ then (and I guess I still do): > > 1. maintenance: there are at least three forks right now and it seems at > least two are quite incompatible. > > 2. completeness/reliability, > My expertise in C++ or (or D-Bus) is not deep enough to evaluate how > complete or tested these bindings are. That's also what worries me. > > inside BlueZ, ConnMan, oFono etc. we are using libgdbus which is a nice > > and small helper library for writing D-Bus servers in C without any big > > extra bloat. We even duplicate the source in all projects to make it > > simpler for packages and integrators. I am not saying that this is the > > right solution for you, but you asked ;) > > Thanks, that may make sense. It's just that dbus-glib was a known evil > for me at the time... I've looked at connman and gdbus does look like a > nice and clean API at least from server POV. Can/should we use both? gdbus in the server, dbus-glib in the client? Drawback: someone who wants to modify an API which is used on both sides needs at least some rudimentary understanding of both. Advantage: not all APIs are needed on the client-side and the server-side implementation might become easier for all APIs. -- Best Regards Patrick Ohly Senior Software Engineer Intel GmbH Open Source Technology Center Hermuelheimer Strasse 8a Phone: +49-2232-2090-30 50321 Bruehl Fax: +49-2232-2090-29 Germany _______________________________________________ SyncEvolution mailing list [email protected] http://lists.syncevolution.org/listinfo/syncevolution
