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

Reply via email to