2 years agodbus-c++: reduce log spam 36/48736/2 factory-4128.B factory-4290.B factory-4455.B factory-pit-4280.B factory-pit-4390.B factory-pit-4471.B factory-spring-4131.B factory-spring-4262.B firmware-falco_peppy-4389.B firmware-leon-4389.26.B firmware-pit-4482.B firmware-wolf-4389.24.B master release-R28-4100.B release-R29-4319.B release-R30-4537.B stabilize-4068.0.B stabilize-4100.38.B stabilize-4255.B stabilize-4287.B stabilize-4443.B stabilize-4512.B stabilize-spring-4100.53.B toolchainB
mukesh agrawal [Sat, 20 Apr 2013 01:56:10 +0000 (18:56 -0700)]
dbus-c++: reduce log spam

No need to log an informational message to stderr.
So get rid of it.

TEST=emerge dbus-c++ (on host), build shill

Change-Id: Ib7a194818b4ef453ce968a9c11dbc4c816f6740f
Reviewed-by: Darin Petkov <>
Commit-Queue: mukesh agrawal <>
Tested-by: mukesh agrawal <>
2 years ago[dbus-c++] fix spurious wakeups 51/47951/2 stabilize-4008.0.B stabilize-4035.0.B
Mandeep Singh Baines [Fri, 12 Apr 2013 01:27:21 +0000 (18:27 -0700)]
[dbus-c++] fix spurious wakeups

I was seeing spurious debugd and chapsd wakeups every 10 seconds.
Root caused it to the use of wait_min to upper bound the poll
timeout to 10 seconds. There is really no good reason to do this.
Anyone using this eventloop just wakes up, checks all timeouts
and fds, finds there is nothing to do and then goes back to sleep.

TEST=Verify debugd still works via chrome://system.
TEST=Verify that chapsd and debugd no longer generate spurious wakes.

Change-Id: I381dc26917bd334be1ac8fe394460af3be4de70a
Signed-off-by: Mandeep Singh Baines <>
Reviewed-by: Darren Krahn <>
Reviewed-by: Elly Jones <>
2 years agodrop ers from the OWNERS list 39/45039/2 factory-spring-3842.B firmware-spring-3824.4.B firmware-spring-3824.55.B firmware-spring-3824.84.B firmware-spring-3824.B firmware-spring-3833.B release-R27-3912.B stabilize-3881.0.B stabilize-3912.79.B toolchainA
Mike Frysinger [Sun, 10 Mar 2013 07:39:48 +0000 (03:39 -0400)]
drop ers from the OWNERS list

Eric has moved on.


Change-Id: I5f81bba7a85969a395f98dd01ea79845d99caa16
Reviewed-by: Chris Masone <>
Commit-Queue: Mike Frysinger <>
Tested-by: Mike Frysinger <>
2 years agofix pthread flag usage 38/45038/2
Mike Frysinger [Sun, 10 Mar 2013 07:34:57 +0000 (03:34 -0400)]
fix pthread flag usage

The pthread m4 file sets up PTHREADS_{CFLAGS,LIBS}, but the
only uses pthreads_LIBS.  Use the right var names, and add the missing
PTHREADS_CFLAGS to the compile/link stages.

TEST=`emerge-x86-alex dbus-c++` still works

Change-Id: I070889bde5e9dc7ad4688879fa11fafffd788fea
Reviewed-by: Chris Masone <>
Commit-Queue: Mike Frysinger <>
Tested-by: Mike Frysinger <>
2 years agoadd missing ACLOCAL_AMFLAGS 37/45037/2
Mike Frysinger [Sun, 10 Mar 2013 07:23:55 +0000 (03:23 -0400)]

This package puts m4 files in config/ but doesn't set the right -I flags
which leads to random errors with autoreconf.  Declare it properly.

TEST=`emerge-x86-alex dbus-c++` still works

Change-Id: I0235cb96eb184a4c5b18c24ef6e32382e5493d81
Reviewed-by: Chris Masone <>
Commit-Queue: Mike Frysinger <>
Tested-by: Mike Frysinger <>
2 years agostop clobbering CXXFLAGS 36/45036/3
Mike Frysinger [Sun, 10 Mar 2013 07:19:47 +0000 (03:19 -0400)]
stop clobbering CXXFLAGS

We have CXXFLAGS already setup.  No configure script should ever
clobber or override the way this one does.

TEST=`emerge-x86-alex dbus-c++` uses our CXXFLAGS

Change-Id: Ied463631267f72e44311f41b6946abe282c7709d
Reviewed-by: Chris Masone <>
Commit-Queue: Mike Frysinger <>
Tested-by: Mike Frysinger <>
2 years ago[dbus-c++] DBus-C++ operator overloading should rely on ADL 27/42027/3 release-R26-3701.B stabilize-3658.0.0 stabilize-3701.30.0 stabilize-3701.30.0b stabilize-3701.46.B stabilize-3701.81.B stabilize-bluetooth-smart toolchain-3701.42.B
Liam McLoughlin [Fri, 25 Jan 2013 19:07:06 +0000 (11:07 -0800)]
[dbus-c++] DBus-C++ operator overloading should rely on ADL

DBus-C++ operator overloading (operator >>/<<) should rely on
argument-dependent lookup, rather than on sticking the overloads in the
global namespace, so that they can always be found correctly when used in

See to understand why the
existing behaviour was incorrect

TEST=Compile against types.h with Clang

Change-Id: I9239e960f6872f0f312561050d1bbd4cc9b87458
Tested-by: Liam McLoughlin <>
Commit-Queue: Ryan Sleevi <>
Reviewed-by: Ryan Sleevi <>
2 years ago[dbus-c++] rearrange some deckchairs in types.h 76/41576/2
Elly Fong-Jones [Thu, 17 Jan 2013 21:49:42 +0000 (16:49 -0500)]
[dbus-c++] rearrange some deckchairs in types.h

clang requires that when you invoke an operator with type-based dispatch, the
variant for the type you are invoking it on has already been pre-declared; this
bites us in the Variant T() operator, which relies on the overloaded '>>'
operator for MessageIter; we invoke >> on some type T, but >> for T is declared
later in the file.

To hack around this, switch over to just forward-declaring the existence of the
T() operator, and put the body of the T() operator after all the
declarations/definitions of MessageIter >> operators. Also, shuffle the Variant
MessageIter >> operator to be above the map >> operator, since if someone tries
to invoke >> on a map of variants, they'll have the same problem.

There will probably be other, similar problems requiring more rearrangements in


Change-Id: I024ec58d427d960372d92ecaa48f711b4569778f
Signed-off-by: Elly Fong-Jones <>
Reviewed-by: Guozhi Wei <>
Reviewed-by: Ryan Sleevi <>
2 years agodbus-c++: Add functions with different return type to suppress clang warning 97/40897/2 factory-3536.B
Guozhi Wei [Tue, 8 Jan 2013 23:06:53 +0000 (15:06 -0800)]
dbus-c++: Add functions with different return type to suppress clang warning

In dispatcher.h, if DBUS_HAS_RECURSIVE_MUTEX is not defined, we have function types

typedef bool (*MutexFreeFn)(Mutex *mx);
typedef bool (*MutexLockFn)(Mutex *mx);

But the implementation has the return type of void.

        static void mutex_free(Mutex *mx)
                delete mx;

        static void mutex_lock(Mutex *mx)

So it causes a function mismatch when calling _init_threading.

This patch adds new functions return bool if DBUS_HAS_RECURSIVE_MUTEX is not defined.
The new functions simply return false, it may not be correct, but it neither does
worse than current behavior which return random values.

TEST=USE="chrome_internal" CFLAGS="-clang -print-cmdline" CXXFLAGS="-clang -print-cmdline" emerge-x86-alex chaps

Change-Id: I6e183f4fa403854357565544229c03b078c444c6
Reviewed-by: Scott James Remnant <>
Reviewed-by: Mike Frysinger <>
Reviewed-by: Denis Glotov <>
Commit-Queue: Guozhi Wei <>
Tested-by: Guozhi Wei <>
2 years agoAdd a #define to support building dbus-c++ on older Linux distros. release-R25-3428.B stabilize-3428.110.0 stabilize-3428.149 stabilize-3428.149.B stabilize-3428.193 stabilize2 toolchain-3428.65.B master-backup
Lei Zhang [Tue, 16 Oct 2012 00:01:11 +0000 (17:01 -0700)]
Add a #define to support building dbus-c++ on older Linux distros.

TEST=emerge dbus-c++.

Change-Id: I59ca6125c7359480842040b65d7628ac66afc126
Reviewed-by: mukesh agrawal <>
Reviewed-by: Paul Stewart <>
Commit-Ready: Lei Zhang <>
Tested-by: Lei Zhang <>
2 years agoFixed dbus-c++ gcc 4.7 building problem. factory-2394.B factory-2460.B factory-2475.B factory-2569.B factory-2717.B factory-2723.14.B factory-2846.B factory-2848.B factory-2914.B factory-2985.B factory-2993.B factory-3004.B firmware-butterfly-2788.B firmware-link-2695.2.B firmware-link-2695.B firmware-parrot-2685.B firmware-snow-2695.90.B firmware-snow-2695.B firmware-stout-2817.B release-R21-2465.B release-R22-2723.B release-R23-2913.B stabilize stabilize-daisy stabilize-link stabilize-link-2913.278
Han Shen [Thu, 31 May 2012 23:49:35 +0000 (16:49 -0700)]
Fixed dbus-c++ gcc 4.7 building problem.

Just add "unistd.h" inclusion to eventloop-integration.h.

TEST=Manually built using gcc 4.7.

Change-Id: I87bd1f90db6a4c974a5ed8134044e8be2034aff2
Tested-by: Han Shen <>
Reviewed-by: Yunlian Jiang <>
Commit-Ready: Han Shen <>

3 years agoDBus-C++: Improving crash analysis with finer-grained exceptions. factory-2268.16.B factory-2305.B factory-2338.B factory-2368.B firmware-link-2348.B release-R20-2268.B
Wade Guthrie [Tue, 8 May 2012 16:04:37 +0000 (09:04 -0700)]
DBus-C++: Improving crash analysis with finer-grained exceptions.

TEST=Unit and manual tests.

Change-Id: Ic32a84a02b040ed71d8050199a429776c376acef
Reviewed-by: Paul Stewart <>
Commit-Ready: Wade Guthrie <>
Tested-by: Wade Guthrie <>
3 years agodbus-c++: Ensure correct size of opaque MessageIter::_iter member.
Darin Petkov [Thu, 3 May 2012 07:38:06 +0000 (09:38 +0200)]
dbus-c++: Ensure correct size of opaque MessageIter::_iter member.

The MessageIter::_iter data member is supposed to match size of DBusMessageIter,
however, its size was hardcoded in dbus-c++/message.h to avoid including
dbus/dbus.h. In the current build this resulted in sizeof(_iter)=68, less than

This CL dynamically allocates a private structure that includes a
DBusMessageIter member thus ensuring that the member size stays in
sync with the struct. The patch also adds an explicit copy constructor
and assignment operator so that MessageIter objects are copied

A couple of additional changes:

- Reset MessageIter data members to NULL in the destructor.
- Avoid implicit conversion between bool and dbus_bool_t.

TEST=shill unit tests, build and run a test image

Change-Id: I9b56449f94928e41395ed44228f94eaf203e440a
Tested-by: Darin Petkov <>
Reviewed-by: Jason Glasgow <>
Reviewed-by: Paul Stewart <>
Commit-Ready: Darin Petkov <>

3 years agodbus-c++: xml2cpp allow caller to add arbitrary macros factory-1987.B release-R19-2046.B
Jason Glasgow [Fri, 9 Mar 2012 22:11:04 +0000 (17:11 -0500)]
dbus-c++: xml2cpp allow caller to add arbitrary macros

Allow the caller to define arbitrary macros which will be used when
expanding the template file.  This allows for easy customization of
the output.


Change-Id: I3a03f095b7d3e9b7e6432add3ddb50d340a56928
Tested-by: Jason Glasgow <>
Reviewed-by: Eric Shienbrood <>
Commit-Ready: Jason Glasgow <>

3 years agodbus-c++: add ability to avoid exceptions in generated code and user code
Jason Glasgow [Thu, 16 Feb 2012 16:31:53 +0000 (11:31 -0500)]
dbus-c++: add ability to avoid exceptions in generated code and user code

Add ability to avoid exceptions in generated code and user code by
having the user code initialize the ObjectAdaptor with the
AVOID_EXCEPTIONS flag.  This will require the generation of different
adaptor code by explicitly specifying the exception free adaptor
template argument to dbuscxx-xml2cpp.

TEST=run ensure cromo still works

Change-Id: Ia0779254105dd56af8420a18e8d5eb1ec5d41775
Tested-by: Jason Glasgow <>
Reviewed-by: Eric Shienbrood <>
Commit-Ready: Jason Glasgow <>

3 years agoUse ctemplate for proxy and adaptor code generation.
Eric Shienbrood [Fri, 18 Nov 2011 21:11:57 +0000 (16:11 -0500)]
Use ctemplate for proxy and adaptor code generation.

Changed the stub generator to expand a template using
the ctemplate library, instead of embedding all the code
to be generated in the generator itself. Provides a
separation between "presentation" and logic.

generate_adaptor.cpp is no longer needed, as the same code
can be used with different templates to generate both proxy
code and adaptor code. generate_proxy.cpp was renamed to

TEST=I built and ran on my workstation, outside of the chromeos
chroot. I've also emerge-d it inside the chroot and used it
to build and successfully run shill.

Change-Id: Id5a6b91f646935ed80be9bd50d791904b38b3b57
Tested-by: Eric Shienbrood <>
Commit-Ready: Jason Glasgow <>
Reviewed-by: Jason Glasgow <>
Tested-by: Jason Glasgow <>
3 years agodbus-c++: Allow making a blocking method call from a signal or method call handler.
Eric Shienbrood [Thu, 2 Feb 2012 23:40:39 +0000 (18:40 -0500)]
dbus-c++: Allow making a blocking method call from a signal or method call handler.

Changed the locking of the Dispatcher's pending_queue to avoid a
deadlock when a signal handler or method call handler makes a
blocking method call.

The bug report shows an instance of the deadlock.

TEST=Tested with shill, using a case that resulted in a deadlock
before this change (actually, an assertion failure indicating that
a deadlock would have occurred), but works successfully after the

Change-Id: Ifbed39fe0f8b94d3e4508222e21ebfa14f0b3b9d
Commit-Ready: Eric Shienbrood <>
Reviewed-by: Eric Shienbrood <>
Tested-by: Eric Shienbrood <>
3 years agoFixed hang due to infinite loop in dbus-c++ async method reply handlers. release-R18-1660.B
Eric Shienbrood [Fri, 27 Jan 2012 22:03:00 +0000 (17:03 -0500)]
Fixed hang due to infinite loop in dbus-c++ async method reply handlers.

If an async method reply handler makes a non-blocking dbus call, it
is possible that the async reply to the second call could be handled
before handling of the original reply is completed. In that case, when
the stub code for the original reply callback tries to remove the
PendingCall it was handling, the removal code enters an infinite loop.
This fixes that.

TEST=Discovered while working on making more client operations
asynchronous in shill. The problem is not consistently repeatable,
but will occur once every few times the cellular device is enabled.
The observed behavior when this bug is present is that shill hangs
and becomes unresponsive.

Change-Id: I94ff5156b71fd6e140fb3b8214c84c5be1e390bc
Tested-by: Eric Shienbrood <>
Reviewed-by: Jason Glasgow <>
Commit-Ready: Eric Shienbrood <>

3 years agodbus-c++: fully support file descriptor passing. factory-1412.B release-R17-1412.B
Elly Jones [Wed, 30 Nov 2011 00:16:09 +0000 (19:16 -0500)]
dbus-c++: fully support file descriptor passing.

I added file descriptor passing in c7f8f00a1c4032cfe723d900e86cda4252a4d11e, but
did not add support for getting file descriptors from MessageIter, which made
them impossible to actually access as arguments. Also, the generated code for
file descriptor arguments would call the int accessor instead of the fd

This change introduces a new class 'DBus::FileDescriptor' which wraps a file

Built, ran debugd, passed it an fd.

Change-Id: I9b586d66e68e93a2adb659c9f5b515e0022e2f96
Signed-off-by: Elly Jones <>
Reviewed-by: Will Drewry <>
3 years agoFix some errors and warnings when compiling with clang firmware-kiev-2.112.B firmware-uboot_v2-1299.B
Gaurav Shah [Tue, 8 Nov 2011 00:06:02 +0000 (16:06 -0800)]
Fix some errors and warnings when compiling with clang

error.h, types.h: InternalError is defined as a struct. Declare it as such.
glib-integration.h: Match member variable initialization order with the
    order of declaration in the class.
types.h: Move the declaration of operator<< for the DBus::Variant type
 with the rest of (polymorphic) operator<< defintions since
 DBus::MessageIter &operator << (DBus::MessageIter &iter, const std::map<K,V>& val)
 in types.h uses it.
 Otherwise, clang complains of ambiguous matches presumably because it hasn't
 seen the declaration for operator<<(DBus::MessageIter, DBus::Variant) at that
 point (and tries to match with the other operator<< definitions).

TEST=tried compiling with both clang and default gcc toolchain.

Change-Id: I7bd2204ad02eccbdc2153149fbb81613118a5b35
Commit-Ready: Gaurav Shah <>
Reviewed-by: Gaurav Shah <>
Tested-by: Gaurav Shah <>
3 years agodbus-c++: add OWNERS factory-1284.B
Elly Jones [Mon, 7 Nov 2011 21:25:11 +0000 (16:25 -0500)]
dbus-c++: add OWNERS

Using emails instead of usernames in chromium style.


Change-Id: I12b20b2997f066af7b191762c2d037f94db2bcea
Signed-off-by: Elly Jones <>

3 years agoSupport file descriptor passing.
Elly Jones [Fri, 4 Nov 2011 17:51:43 +0000 (13:51 -0400)]
Support file descriptor passing.

Support parsing file descriptors out of type signatures, and support generating
adaptors for functions that send or receive file descriptors. File descriptors
are otherwise handled by the same code path as other basic types.

TEST=None yet

Change-Id: I08446bfefc6ded412746443dd775d2b06ae95e4d
Signed-off-by: Elly Jones <>
Reviewed-by: Eric Shienbrood <>
3 years agoAdd files for new sample program.
Eric Shienbrood [Mon, 7 Nov 2011 20:06:51 +0000 (15:06 -0500)]
Add files for new sample program.

Forgot to include in my previous CL.

TEST=Build in a fresh sandbox, build succeeds.

Change-Id: Ibf66f99ae9b783b20c874e3de86650ae24b129d5
Tested-by: Eric Shienbrood <>
Reviewed-by: ttuttle <>
3 years agoAdded support for asynchronous proxies (early snapshot).
Eric Shienbrood [Tue, 18 Oct 2011 18:37:54 +0000 (14:37 -0400)]
Added support for asynchronous proxies (early snapshot).

[This is an early snapshot to make these changes available for review.]

Modified the proxy code generator to optionally create code
that makes non-blocking method invocations and invokes callbacks
when replies are asynchronously received. Also completed/fixed
the PendingCall class, and the support in the library for async
invocation and reply handling.

For a description of the approach taken see the following document:

TEST=Added a new sample server and a client that uses asynchronous

Change-Id: I8b4bfb628f2a0515a91c5821d20e878fb76dc7e7
Reviewed-by: Darin Petkov <>
Tested-by: Eric Shienbrood <>
3 years agodbus-c++: comment out unused parameter factory-1235.B release-R16-1193.B
mukesh agrawal [Mon, 26 Sep 2011 22:13:41 +0000 (15:13 -0700)]
dbus-c++: comment out unused parameter

with this change, the static headers compile cleanly with
-Wunused-parameter. (in fact, they compile with -Wall -Wextra.)

TEST=ad-hoc: emerge dbus-c++, and rebuild shill with -Wunused enabled

Change-Id: Ifbbe58a079457e0f3a356d13cfc871f96ce5a983
Reviewed-by: mukesh agrawal <>
Tested-by: mukesh agrawal <>
3 years agodbus-c++: fix some ignored const qualifier bugs in headers,
mukesh agrawal [Mon, 26 Sep 2011 17:37:19 +0000 (10:37 -0700)]
dbus-c++: fix some ignored const qualifier bugs in headers,
and in generated code.

with these changes:
- the static headers compile cleanly with -Wignored-qualifiers
  (still need to fix -Wunused-parameter warnings for -Wall -Wextra)
- generated code compiles cleanly with -Wignored-qualifiers
  (in fact, it compiles cleanly with -Wall -Wextra)

notes on safety & correctness:
- changing the prototype of InterfaceAdaptor::introspect

  from IntrospectedInterface *const introspect() const
  to   IntrospectedInterface *introspect() const

  is safe, because the compiler was ignorning the const qualifier
  on the pointer anyway

- changing the prototype of InterfaceAdaptor::introspect

  from IntrospectedInterface *introspect() const
  to   const IntrospectedInterface *introspect() const

  - isn't inherently safe, because unmodified source will fail to
    compile. however, i believe all of the packages that use dbus-c++
    recompile their stubs when they are built.

  - helps with correctness, as it prevents code from inadvertently
    modifiying introspection data

- the change to generate_proxy (in is safe, because
  - for primitive types, the compiler was ignoring the const qualifier
  - for other types, the generated code is unchanged

TEST=ad-hoc: emerge dbus-c++ for host and board, then emerge shill
with -Wignored-qualifiers enabled

Change-Id: Ic1f146f443be6df1da35b8024fb89ce2b5eb221d
Reviewed-by: mukesh agrawal <>
Tested-by: mukesh agrawal <>
3 years agodbus-c++: Remove obsolete requirement for static strings. factory-1020.B factory-980.B release-1011.B test-982.B
Darin Petkov [Tue, 23 Aug 2011 23:04:11 +0000 (16:04 -0700)]
dbus-c++: Remove obsolete requirement for static strings.

This patch switched dbus_set_error_const to dbus_set_error in Error::set's implementation and made
the requirement obsolete.


Change-Id: I6dc5bf6638b8d16ca9b9b6213d9aac9f88e9db58
Tested-by: Darin Petkov <>
Reviewed-by: David Rochberg <>
3 years agodbus-c++: Generate proxy for DBus.Properties. 0.15.877.B firmware-881-u-boot-v1 firmware-u-boot-v1
Darin Petkov [Tue, 2 Aug 2011 21:21:33 +0000 (14:21 -0700)]
dbus-c++: Generate proxy for DBus.Properties.

There's no particular reason to skip the interface (it provides the GetAll
method, for example), and we already include when generating adaptors.

TEST=build_packages --board=x86-mario --nousepkg

Change-Id: I95f6e117b9005b83f3b67a8e0724e5b615b88aa1
Tested-by: Darin Petkov <>
Reviewed-by: Eric Shienbrood <>
3 years agodbus-c++: dbusxx-xml2cpp -- legalize identifiers for proxy.
Darin Petkov [Mon, 1 Aug 2011 21:42:21 +0000 (14:42 -0700)]
dbus-c++: dbusxx-xml2cpp -- legalize identifiers for proxy.

This makes dbusxx-xml2cpp generate correct proxy C++ for
org.freedesktop.ModemManager.Modem.xml (argument "new") and for
org.freedesktop.ModemManager.Modem.Cdma.xml (arguments "cdma-1x-state" and

TEST=build_packages --nousepkg

Change-Id: I10928ba9657cc7696a8a4444ece2ca5bacc503d8
Tested-by: Darin Petkov <>
Reviewed-by: Eric Shienbrood <>
4 years agodbus-c++: Add support for deferred object registration. 0.13.587.B 0.14.811.B 780.B
Elly Jones [Thu, 26 May 2011 19:52:47 +0000 (15:52 -0400)]
dbus-c++: Add support for deferred object registration.

This allows us to avoid a nasty antipattern caused by inability to register
objects from a signal handler (which ordinarily causes a deadlock as we reenter
the dispatch loop in dbus-c++).


Change-Id: Ic6a92b5ee706988206ccd0603da776fb2c9685ce
Signed-off-by: Elly Jones <>
Reviewed-by: Jason Glasgow <>
4 years agodbusxx-xml2cpp: Only generate argument reader if there are arguments. 0.13.509.B 0.13.558.B
Elly Jones [Thu, 12 May 2011 20:09:05 +0000 (16:09 -0400)]
dbusxx-xml2cpp: Only generate argument reader if there are arguments.

This shuts gcc-4.6 up about a variable being written to but not used. See for an example.

Built, built cromo, built gobi-cromo-plugin.

Change-Id: I0ad5185b4f5a91b9ea7c4d5fdcfb10debcbac66b
Signed-off-by: Elly Jones <>
Reviewed-by: Jason Glasgow <>
4 years agodbus-c++: Revert "dbus-c++: Allow deferred object registration."
Daniel Erat [Thu, 28 Apr 2011 00:15:23 +0000 (17:15 -0700)]
dbus-c++: Revert "dbus-c++: Allow deferred object registration."

This reverts commit 5622677bb149fee3fa8c407a09a478bfe694fba9.
It breaks the synaptics driver.

TEST=manual: touchpad doesn't work in internal build without this revert, but starts working after the revert

Review URL:

Change-Id: Ie8d47f02174ecaa9d43c68d796cba60e4189d358

4 years agodbus-c++: Allow deferred object registration.
Elly Jones [Wed, 27 Apr 2011 17:39:38 +0000 (13:39 -0400)]
dbus-c++: Allow deferred object registration.

Adds an additional constructor parameter, register_now, which allows disabling
registration in the constructor.

Change-Id: I735b94aad897d234000f74a242901db79ab163c9

Built, and built cromo.

Signed-off-by: Elly Jones <>
Signed-off-by: Jason Glasgow <>
Signed-off-by: David Rochberg <>
Review URL:

4 years agodbus-c++: Detect deadlocks in dispatching.
Elly Jones [Tue, 26 Apr 2011 15:37:00 +0000 (11:37 -0400)]
dbus-c++: Detect deadlocks in dispatching.

See for the whole sad story.

Change-Id: I83002f6649c217d80d04c89faad343ffd6d85634

Run cromo. No crash :)

Signed-off-by: Elly Jones <>
Signed-off-by: Jason Glasgow <>
Review URL:

4 years agoMessageIter: handle nested dicts in copy_data 0.12.433.B 0.12.433.B109 0.12.433.B62 0.13.434.B
Vince Laviano [Mon, 11 Apr 2011 19:57:04 +0000 (12:57 -0700)]
MessageIter: handle nested dicts in copy_data

MessageIter::copy_data is calling dbus_message_iter_open_container (in
libdbus) with an invalid |contained_signature| argument when |type| is
complex. This triggers an assertion failure when the args are checked.

The comments for dbus_message_iter_open_container say: "For variants,
the contained_signature should be the type of the single value inside
the variant. For structs and dict entries, contained_signature should be
NULL; it will be set to whatever types you write into the struct. For
arrays, contained_signature should be the type of the array elements."

However, the existing code only follows this guideline for arrays. It
does the opposite of what is specified (passing NULL when a type
signature string is required and vice versa) for variants, structs, and
dict entries.

This issue was identified and this fix proposed in the upstream issue
tracker (see,
but the fix has not yet been applied upstream and the issue remains open.

This issue was causing cashewd to abort when making a GetProperties
D-Bus call to flimflam's Device interface because of the nesting in the
newly added Cellular.SIMLockStatus property (see issue 11293).

TEST=manual testing on device

Change-Id: Ia29dc64dd9f7627413fc1c1f1fbf8d516336447c

Review URL:

4 years agoAllow explicit object registration. 0.11.241.B 0.11.257.B 0.11.257.B90 0.12.362.B 0.12.369.B 0.12.392.B 11.1.241.B
Elly Jones [Wed, 9 Feb 2011 16:25:21 +0000 (11:25 -0500)]
Allow explicit object registration.

This also allows explicit object *un*registration, which means that the object
lifecycle (as exposed to the bus) is now divorced from the object lifecycle as a
C++ object. This allows things like e.g. unregistering an object now but running
its cleanup "later".

Built, ran, connected to 3G.

Change-Id: Icfdb96ff47bb6a0d5e86a0774981906f20304c88
Signed-off-by: Elly Jones <>
Signed-off-by: Jason Glasgow <>
Review URL:

4 years agoAllow methods and signals on the org.freedesktop.DBus.Properties interface.
Eric Shienbrood [Wed, 5 Jan 2011 19:55:34 +0000 (14:55 -0500)]
Allow methods and signals on the org.freedesktop.DBus.Properties interface.

This is needed to allow cromo plugins to send the MmPropertiesChanged modem manager signal.

TEST=Build cromo. Compare generated files before and after this change.
Observe that the code generated for mm-modem.xml now defines
MmPropertiesChanged, where before it did not. Checked that nothing
else has changed in the generated code.

Change-Id: Ida5e3d76133f6ed82c2bd49ca1599a0948914aa1

Review URL:

4 years agodbus-c++: Add missing inherit-review-settings-ok file
Daniel Erat [Wed, 16 Jun 2010 15:50:37 +0000 (08:50 -0700)]
dbus-c++: Add missing inherit-review-settings-ok file


Review URL:

5 years agoFix dbus-c++ to compile examples in a cross compilation environment
Jason Glasgow [Fri, 14 May 2010 17:04:49 +0000 (13:04 -0400)]
Fix dbus-c++ to compile examples in a cross compilation environment

Fix dbus-c++ to compile examples in a cross compilation environment
TEST=compile on arm and x86

Review URL:

5 years agoRemove duplicate header
Jason Glasgow [Wed, 12 May 2010 20:23:21 +0000 (16:23 -0400)]
Remove duplicate header

Remove duplicate header
Duplicate header (debug.h) causes make install to fail

TEST=run the build

Review URL:

5 years agoMerge branch 'with_exceptions' into master.
Eric Shienbrood [Wed, 21 Apr 2010 22:04:55 +0000 (18:04 -0400)]
Merge branch 'with_exceptions' into master.

Review URL:

5 years agotake out exceptions in generated server stubs
David Rochberg [Wed, 14 Apr 2010 01:20:37 +0000 (21:20 -0400)]
take out exceptions in generated server stubs

Review URL:

5 years agoApply patch from ebuild file to fix toString
David Rochberg [Tue, 13 Apr 2010 20:20:28 +0000 (16:20 -0400)]
Apply patch from ebuild file to fix toString

Review URL:

5 years agoMerge git:// into freedesktop freedesktop
David Rochberg [Tue, 13 Apr 2010 18:27:55 +0000 (14:27 -0400)]
Merge git:// into freedesktop

5 years agoREADME.GOOGLE
David Rochberg [Tue, 13 Apr 2010 18:22:20 +0000 (14:22 -0400)]

5 years agoneed to implement default constructor
Andreas Volz [Tue, 1 Dec 2009 23:15:53 +0000 (00:15 +0100)]
need to implement default constructor

5 years agoerror check
Andreas Volz [Tue, 1 Dec 2009 22:35:40 +0000 (23:35 +0100)]
error check

5 years agopatch from "Freyensee, James P" <>, but default is old...
Andreas Volz [Sun, 29 Nov 2009 16:38:42 +0000 (17:38 +0100)]
patch from "Freyensee, James P" <>, but default is old implementation

5 years agofixed some compiler warnings
Andreas Volz [Mon, 16 Nov 2009 23:07:30 +0000 (00:07 +0100)]
fixed some compiler warnings

5 years agostill more formating... prepare for merge
Andreas Volz [Mon, 16 Nov 2009 23:01:23 +0000 (00:01 +0100)]
still more formating... prepare for merge

5 years agoformated with astyle for easier merging
Andreas Volz [Mon, 16 Nov 2009 22:46:41 +0000 (23:46 +0100)]
formated with astyle for easier merging

5 years agosome formating
Andreas Volz [Mon, 16 Nov 2009 22:39:50 +0000 (23:39 +0100)]
some formating

5 years agoforgot ecore example
Andreas Volz [Mon, 16 Nov 2009 22:11:19 +0000 (23:11 +0100)]
forgot ecore example

5 years agotimeout set/get function for Connection
Andreas Volz [Mon, 16 Nov 2009 22:09:46 +0000 (23:09 +0100)]
timeout set/get function for Connection

5 years ago- merge some uncritical stuff from gitorious branch (e.g optional ecore integration)
Andreas Volz [Mon, 16 Nov 2009 21:10:38 +0000 (22:10 +0100)]
- merge some uncritical stuff from gitorious branch (e.g optional ecore integration)
- merged some parts of the patch from

6 years agoformating
Andreas Volz [Sun, 29 Mar 2009 13:40:40 +0000 (15:40 +0200)]

6 years agofirst merge the generator comments from the gitorious branch
Andreas Volz [Sun, 29 Mar 2009 12:17:54 +0000 (14:17 +0200)]
first merge the generator comments from the gitorious branch

6 years agosplit xml2cpp.cpp into several smaller files for better organization
Andreas Volz [Sun, 29 Mar 2009 11:02:52 +0000 (13:02 +0200)]
split xml2cpp.cpp into several smaller files for better organization

6 years agocontributed by Jiri Moskovcak <>
Andreas Volz [Sun, 22 Feb 2009 17:09:09 +0000 (18:09 +0100)]
contributed by Jiri Moskovcak <>

6 years agopatch from Daniel Wagner <>
Andreas Volz [Tue, 10 Feb 2009 17:22:17 +0000 (18:22 +0100)]
patch from Daniel Wagner <>

6 years ago- removed include of config.h in header files
Andreas Volz [Thu, 8 Jan 2009 20:58:42 +0000 (21:58 +0100)]
- removed include of config.h in header files
  - never include config.h in a installed header file!
- added config.h to cpp and private (not installed) headers
- don't install config.h
- don't use any defines from config.h in a installed header file
- added new API documentation in various classes
  - mostly copied and adapted from C API
- implemented invoke_method_noreply() to enable asyncronous function calls

6 years ago-Wall added
Andreas Volz [Tue, 6 Jan 2009 21:56:56 +0000 (22:56 +0100)]
-Wall added

6 years ago- path in was wrong
Andreas Volz [Tue, 6 Jan 2009 21:45:30 +0000 (22:45 +0100)]
- path in was wrong
- echo example follows new PTHREAD m4 macro
- echo example thread now uses thread parameter instead of global variable

6 years ago- added new m4 macro to detect pthread libs
Andreas Volz [Tue, 6 Jan 2009 21:16:34 +0000 (22:16 +0100)]
- added new m4 macro to detect pthread libs
- deleted as it's autogenerated and no need to stay in version control

6 years ago- started to merge uncritical changes from gitorious to fdo
Andreas Volz [Tue, 6 Jan 2009 12:42:17 +0000 (13:42 +0100)]
- started to merge uncritical changes from gitorious to fdo
  - bootstrap as extra script
  - add myself as author
  - debug option documented
  - Anjuta project file added

6 years agotest
Andreas Volz [Tue, 6 Jan 2009 12:36:03 +0000 (13:36 +0100)]

6 years agoTypo in Glib integration (Cristi Posoiu)
pd [Wed, 5 Nov 2008 22:18:40 +0000 (23:18 +0100)]
Typo in Glib integration (Cristi Posoiu)

6 years agoA slew of Glib fixes (Cristi Posoiu)
pd [Wed, 29 Oct 2008 14:04:05 +0000 (15:04 +0100)]
A slew of Glib fixes (Cristi Posoiu)
* removed comments around the IO_OUT when polling
* fixed Timeout and Watch to not automatically call in constructor _enable, *unless* they were actually enabled (that allowed to put back the IO_OUT)
* add a few functions to Connection and Dispatcher to know if there are pending messages to be dispatched
* added a GSource, named DispatcherSource that would do the dispatching of pending events
* this allowed removal of the TODO: comment about code not working if there were several dispatchers
* a few sanity checks

6 years agoChanged to reflect last file shuffling (Ignacy Gawedzki)
pd [Mon, 8 Sep 2008 17:07:59 +0000 (19:07 +0200)]
Changed to reflect last file shuffling (Ignacy Gawedzki)

6 years agoEdited debug output in eventloop
pd [Fri, 5 Sep 2008 14:30:11 +0000 (16:30 +0200)]
Edited debug output in eventloop

6 years agoRedone properties example
pd [Fri, 5 Sep 2008 14:29:14 +0000 (16:29 +0200)]
Redone properties example

6 years agoAdded Properties XML description
pd [Fri, 5 Sep 2008 14:20:10 +0000 (16:20 +0200)]
Added Properties XML description

6 years agoTypo in glib example
pd [Thu, 4 Sep 2008 22:33:28 +0000 (00:33 +0200)]
Typo in glib example

6 years agoRemoved useless sleep() in example
pd [Sun, 31 Aug 2008 17:25:24 +0000 (19:25 +0200)]
Removed useless sleep() in example

6 years agoCommented out unused variables (Marko Anastasov)
pd [Sun, 31 Aug 2008 15:44:52 +0000 (17:44 +0200)]
Commented out unused variables (Marko Anastasov)

6 years agoMake phtread a non-optional requirement
pd [Mon, 18 Aug 2008 21:29:37 +0000 (23:29 +0200)]
Make phtread a non-optional requirement

6 years agoAdded a pkgconfig file to test a local version without installing it (Andreas Volz)
pd [Sat, 16 Aug 2008 14:48:06 +0000 (16:48 +0200)]
Added a pkgconfig file to test a local version without installing it (Andreas Volz)

6 years agoFix previous patches to use standard types
pd [Sat, 16 Aug 2008 14:39:42 +0000 (16:39 +0200)]
Fix previous patches to use standard types

6 years agoMake examples use new generated names (João Xavier)
pd [Sat, 16 Aug 2008 14:33:02 +0000 (16:33 +0200)]
Make examples use new generated names (João Xavier)

6 years agoAdded properties proxy example (João Xavier)
pd [Sat, 16 Aug 2008 14:29:31 +0000 (16:29 +0200)]
Added properties proxy example (João Xavier)

6 years agoTypo in xml2cpp.cpp
pd [Sat, 16 Aug 2008 14:26:28 +0000 (16:26 +0200)]
Typo in xml2cpp.cpp

6 years agoadded _proxy and _adaptor sufixes to generated interfaces class names (João Xavier)
pd [Sat, 16 Aug 2008 14:21:42 +0000 (16:21 +0200)]
added _proxy and _adaptor sufixes to generated interfaces class names (João Xavier)

6 years agoadded writing of properties in xml2cpp.cpp (João Xavier)
pd [Sat, 16 Aug 2008 14:20:00 +0000 (16:20 +0200)]
added writing of properties in xml2cpp.cpp (João Xavier)

6 years agointerface.cpp and object.cpp now will only fill the interface names if they were...
pd [Sat, 16 Aug 2008 14:09:11 +0000 (16:09 +0200)]
interface.cpp and object.cpp now will only fill the interface names if they were left blank (João Xavier)

6 years agoUse standard types instead of typedefs wherever possible
pd [Fri, 8 Aug 2008 23:16:45 +0000 (01:16 +0200)]
Use standard types instead of typedefs wherever possible

6 years agoTime to get rid of the horrible coding style
pd [Fri, 1 Aug 2008 16:31:43 +0000 (18:31 +0200)]
Time to get rid of the horrible coding style

6 years agoAllow changing the priority of a GMainContext (Eric Jonas)
pd [Fri, 1 Aug 2008 16:24:09 +0000 (18:24 +0200)]
Allow changing the priority of a GMainContext (Eric Jonas)

6 years agoUse libdbus' default timeout when invoking remote methods
pd [Sat, 14 Jun 2008 20:54:37 +0000 (22:54 +0200)]
Use libdbus' default timeout when invoking remote methods

6 years agoFixed a gcc4 warning
pd [Sat, 14 Jun 2008 14:42:41 +0000 (16:42 +0200)]
Fixed a gcc4 warning

6 years agoAdd missing includes for Fedora 9 (Victor Wodecki)
pd [Sat, 14 Jun 2008 13:58:08 +0000 (15:58 +0200)]
Add missing includes for Fedora 9 (Victor Wodecki)

6 years agoComma in code generator (Sergey Struzh)
pd [Sat, 14 Jun 2008 13:53:07 +0000 (15:53 +0200)]
Comma in code generator (Sergey Struzh)

6 years agoEventloop synchronization (Sergey Struzh)
pd [Sat, 14 Jun 2008 13:49:58 +0000 (15:49 +0200)]
Eventloop synchronization (Sergey Struzh)

6 years agoUse autoconf convention for the configuration header (Glenn Murphy)
pd [Sat, 14 Jun 2008 13:40:27 +0000 (15:40 +0200)]
Use autoconf convention for the configuration header (Glenn Murphy)

7 years ago* Nested objects introspection patch (David Belser)
admin [Sun, 6 Jan 2008 00:58:28 +0000 (01:58 +0100)]
* Nested objects introspection patch (David Belser)
* More indentation in generated code (David Belser)
* Avoid redundant calls to dbus_bus_add_match (David Belser)
* Typo in HAVE_PTHREAD_H macro  (Olivier Hochreutiner)
* Allow other listeners to receive the same signal, if any (Olivier Hochreutiner)

7 years ago* Async method calls makeup (Ben Martin)
pdurante [Fri, 31 Aug 2007 03:15:39 +0000 (03:15 +0000)]
* Async method calls makeup (Ben Martin)

git-svn-id: 30a43799-04e7-0310-8b2b-ea0d24f86d0e

7 years ago* RPM spec file (Ben Martin)
pdurante [Tue, 28 Aug 2007 18:01:32 +0000 (18:01 +0000)]
* RPM spec file (Ben Martin)

git-svn-id: 30a43799-04e7-0310-8b2b-ea0d24f86d0e

7 years ago* Serialized multithreaded access to shared data (experimental)
pdurante [Tue, 28 Aug 2007 01:08:04 +0000 (01:08 +0000)]
* Serialized multithreaded access to shared data (experimental)
* Refactored event loop code

git-svn-id: 30a43799-04e7-0310-8b2b-ea0d24f86d0e

7 years ago* Altough the library doesn't directly link to expat anymore, some files weren't...
pdurante [Mon, 27 Aug 2007 21:36:12 +0000 (21:36 +0000)]
* Altough the library doesn't directly link to expat anymore, some files weren't updated to reflect this, fixed (Alexey Morozov)

git-svn-id: 30a43799-04e7-0310-8b2b-ea0d24f86d0e

7 years ago* Fixed a memory leak
pdurante [Tue, 31 Jul 2007 19:27:10 +0000 (19:27 +0000)]
* Fixed a memory leak

git-svn-id: 30a43799-04e7-0310-8b2b-ea0d24f86d0e

7 years ago* Enabled the symbol visibility feature from gcc 4, reduces binary size and dynamic...
pdurante [Mon, 23 Jul 2007 18:31:49 +0000 (18:31 +0000)]
* Enabled the symbol visibility feature from gcc 4, reduces binary size and dynamic loading speed
* A lot of fixes to keep compatibility with older (0.6x) versions of libdbus
* Moved the xml handling code from the library to the code generator
* Rewrote the routine to generate introspection data
* Autojunk cleanup

git-svn-id: 30a43799-04e7-0310-8b2b-ea0d24f86d0e