libchromeos: Add generic DBus data serialization/deserialization

Provide generic methods to write arbitrary C++ data to D-Bus
message buffers and read it back. Implement generic conatainer
support such as std::vector, std::map, std::pair to support
D-Bus ARRAY, DICT, STRUCT data types. Also using chromeos::Any
as a D-Bus VARIANT type.

Added a bunch of unit tests for dbus_utils.

BUG=None
TEST=FEATURES=test emerge-link libchromeos
     FEATURES=test emerge-link buffet

Change-Id: Ic445e11fb2e65c8243df183c6e93c4b3cb881dc8
Reviewed-on: https://chromium-review.googlesource.com/213923
Reviewed-by: Ben Chan <benchan@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
6 files changed
tree: 8d424c618be1cb93fd99eccb1111eb607eb91e82
  1. buffet/