chromeos-dbus-binding: Implement adapter method generation.

This CL introduces the new adapter method generation.
Currently, all message handling is done in some complex callback stack,
so it was difficult to find, e.g., what method is failing if
read argument is something unexpected.

With this change, we expect the method name will be appeard
in the stack trace on crashing.

Note: there seems some issue (UB) on generated code, but because of
the bot dependency issue, it looks like difficult to run UB-san
without landing the change. To break the circular dependency,
this CL lands the feature to generate the code, but guarded
under the flag.

BUG=b/289932268
TEST=Tryjob

Change-Id: I49b15e0ad2a1be34774a0acf1839151fb74bc623
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/5584441
Commit-Queue: Hidehiko Abe <hidehiko@chromium.org>
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Grace Cham <hscham@chromium.org>
Tested-by: Hidehiko Abe <hidehiko@chromium.org>
NOKEYCHECK=True
GitOrigin-RevId: 67db3a3877f0736e9afa28b42d2f5937d343c815
1 file changed
tree: 1c0e44e04479c6ffa557d0d111488123d32f6d3a
  1. brillo/
  2. install_attributes/
  3. policy/
  4. testdata/
  5. BUILD.gn
  6. libpolicy.ver
  7. OWNERS
  8. README.md
  9. testrunner.cc
README.md

libbrillo: platform utility library

libbrillo is a shared library meant to hold common utility code that we deem useful for platform projects. It supplements the functionality provided by libbase/libchrome since that project, by design, only holds functionality that Chromium (the browser) needs. As a result, this tends to be more OS-centric code.

AOSP Usage

This project is also used by Update Engine which is maintained in AOSP. However, AOSP doesn't use this codebase directly, it maintains its own libbrillo fork.

To help keep the projects in sync, we have a gsubtree set up on our GoB: https://chromium.googlesource.com/chromiumos/platform2/libbrillo/

This allows AOSP to cherry pick or merge changes directly back into their fork.