libbrillo: Support custom D-Bus property handlers

This CL is to allow clients of DBusObject to implement their own custom
property method handlers (GetAll/Get/Set). Possible use cases include:
* handling Set method call to be forwarded to another D-Bus service
* handling Set method call to trigger some operation other than setting
  the property value itself.
* handling Get method call to return a value which is a function of
  other properties' values.

BUG=chromium:812468
TEST=Tested with Bluetooth daemon that forwards Set method call.

Change-Id: I8294dc46885b2105adceb9c144f4d603185e49ff
Reviewed-on: https://chromium-review.googlesource.com/939263
Commit-Ready: Sonny Sasaka <sonnysasaka@chromium.org>
Tested-by: Sonny Sasaka <sonnysasaka@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
2 files changed