syncevolution/src/gdbus
Patrick Ohly f2dcd84bb2 GDBus libdbus + GIO: missing out parameters in D-Bus introspection XML (FDO #57292)
The problem is in the C++ D-Bus binding. If the method that gets bound
to D-Bus returns a value, that value is ignored in the signature:
 int foo() => no out parameter

It works when the method is declared as having a retval:
 void foo (int &result) => integer out parameter

This problem exists for both the libdbus and the GIO D-Bus
bindings. In SyncEvolution it affects methods like GetVersions().

The fix consists of always returning a type for the R return type in
the libdbus bindings. getReturn() returned "" because the type was not
a retval. In the GIO binding, the R type was not handled at all. Also
move some common code into a helper function.
2012-12-03 17:14:48 +01:00
..
test GDBus: API and usage cleanup 2011-12-19 17:59:42 +01:00
debug.c Update copyright information 2009-10-07 16:07:47 +02:00
debug.h glib: avoid including glib/*.h headers directly 2011-11-25 14:19:06 +00:00
gdbus-cxx-bridge.cpp GDBus libdbus: implemented "connection lost" callback 2012-05-10 22:08:47 +02:00
gdbus-cxx-bridge.h GDBus libdbus + GIO: missing out parameters in D-Bus introspection XML (FDO #57292) 2012-12-03 17:14:48 +01:00
gdbus-cxx.h GDBus libdbus + GIO: simplified Watch 2012-07-10 09:31:39 +00:00
gdbus.am autotools: Boost was not found in src/gdbus* 2012-11-25 18:02:06 -08:00
gdbus.h Enable SignalWatch activation for one-to-one connections 2012-02-17 15:34:15 +01:00
mainloop.c GDBus libdbus: implemented "connection lost" callback 2012-05-10 22:08:47 +02:00
object.c GDBus libdbus: fixed memory leak 2012-05-10 22:08:46 +02:00
README exporting of local changes in gdbus 2009-12-09 11:53:02 +01:00
watch.c GDBus libdbus: fixed use-after-free error 2012-04-30 10:31:14 +02:00

This is a copy of the libgdbus source code:
http://git.kernel.org/?p=bluetooth/libgdbus.git;a=summary

It is licensed under LGPL v2.1, see upstream COPYING.

The source is included here because there is no stable
upstream release. Patches added here need to be submitted
upstream. Likewise, patches applied upstream must be imported.
The build/import-gdbus.sh and build/export-gdbus.sh scripts
automate that process.

To import fixes from upstream:
- checkout out libgdbus and syncevolution
- enter syncevolution directory
- if not done before, create local "gdbus" branch:
  git branch gdbus origin/gdbus
- run build/import-gdbus.sh
- "gdbus" branch is now checked out and updated
- verify changes, merge into master, etc.
- push into remote syncevolution repo

To export fixes to upstream:
- check out relevant branch in syncevolution
  which has our local changes (typically "master")
- run build/export-gdbus.sh
- send 0*.patch files to upstream

Caveats:
- only files explicitly mentioned in the two scripts
  are imported/exports
- Makefile changes are only imported, but not exported
  (local changes not relevant upstream)