summaryrefslogtreecommitdiff
path: root/chromeos-dbus-bindings/header_generator.h
diff options
context:
space:
mode:
authorAlex Vakulenko <avakulenko@chromium.org>2014-12-03 10:44:08 -0800
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-12-04 00:00:53 +0000
commite2a3338c9b7a772c2e7a2ab7d41551262f00cfeb (patch)
tree82dec0cb0873f5818a2b2db9906b490b6eed5253 /chromeos-dbus-bindings/header_generator.h
parent99e8fb04c1176e856026f14fd9ffc04b66115e0c (diff)
downloaddbus-binding-generator-e2a3338c9b7a772c2e7a2ab7d41551262f00cfeb.tar.gz
chromeos-dbus-bindings: Add "ignore_interfaces" option to config.json
Some services (e.g. Avahi) include system interfaces such as org.freedesktop.DBus.Introspectable as part of their object description. This causes problems when generating multiple proxies since the same interface is included more than once and the resutling proxy code fails to compile. Add an optional setting "ignore_interfaces" to the config .json file to allow to list the interfaces we are not interested in. Also, it turns out that a lot of places use "/" object path legitimately, so I removed that extra hacky check for "/" path and treating it as if not specified. If some objects do use "/" incorrectly, their XML files should be fixed to omit <name> attribute on interface completely. BUG=chromium:438685 TEST=FEATURES=test emerge-link chromeos-dbus-bindings Change-Id: I692e4621f3d36e683a21f96b72bb147b2dd8d88a Reviewed-on: https://chromium-review.googlesource.com/232865 Tested-by: Alex Vakulenko <avakulenko@chromium.org> Reviewed-by: Christopher Wiley <wiley@chromium.org> Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
Diffstat (limited to 'chromeos-dbus-bindings/header_generator.h')
-rw-r--r--chromeos-dbus-bindings/header_generator.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/chromeos-dbus-bindings/header_generator.h b/chromeos-dbus-bindings/header_generator.h
index 1be7d34..0c28bd7 100644
--- a/chromeos-dbus-bindings/header_generator.h
+++ b/chromeos-dbus-bindings/header_generator.h
@@ -40,6 +40,10 @@ struct ServiceConfig {
// The D-Bus path to Object Manager instance.
std::string object_path;
} object_manager;
+
+ // A list of interfaces we should ignore and not generate any adaptors and
+ // proxies for.
+ std::vector<std::string> ignore_interfaces;
};
class HeaderGenerator {