chromeos-dbus-bindings: Add asynchronous method proxies and timeouts

Added async versions of proxy methods and also optional timeout
parameter when calling D-Bus methods. If the timeout is not specified,
a D-Bus default value is used.

BUG=chromium:431736
TEST=FEATURES=test emerge-link chromeos-dbus-bindings

Change-Id: I3104d8b3c54809c352e361b199d37a4206bb58dc
Reviewed-on: https://chromium-review.googlesource.com/233180
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/chromeos-dbus-bindings/proxy_generator.h b/chromeos-dbus-bindings/proxy_generator.h
index f561714..8fd46a4 100644
--- a/chromeos-dbus-bindings/proxy_generator.h
+++ b/chromeos-dbus-bindings/proxy_generator.h
@@ -83,6 +83,11 @@
                              const std::string& interface_name,
                              IndentedText* text);
 
+  // Generates a native C++ method which calls a D-Bus method asynchronously.
+  static void AddAsyncMethodProxy(const Interface::Method& interface,
+                                  const std::string& interface_name,
+                                  IndentedText* text);
+
   // Generates the Object Manager proxy class.
   struct ObjectManager {
     // Generates the top-level class for Object Manager proxy.