shill: chromeos DBus proxy for dhcpcd
Implement ChromeosDHCPCDListener by registering a filter function and
adding a match rule directly to the bus, which introduces a direct
dependency on libdbus-1.
Also dhcpcd proxy does not listen for signals, since those signals are
monitored/processed by dhcpcd listener.
BUG=chromium:507869
TEST=USE="chromeos_dbus asan clang" FEATURES=test emerge-$BOARD shill
TEST=Verify ChromeosDHCPCDListener with a simple test daemon
Change-Id: I0b5ec4acdc5c273388b0b16ffb9b6b67f45b8c89
Reviewed-on: https://chromium-review.googlesource.com/288294
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Zeping Qiu <zqiu@chromium.org>
Tested-by: Zeping Qiu <zqiu@chromium.org>
diff --git a/shill.gyp b/shill.gyp
index 7fafc8c..05cb6ba 100644
--- a/shill.gyp
+++ b/shill.gyp
@@ -33,6 +33,13 @@
'DISABLE_CHROMEOS_DBUS',
],
}],
+ ['USE_chromeos_dbus == 1', {
+ 'variables': {
+ 'deps': [
+ 'dbus-1',
+ ],
+ },
+ }],
['USE_pppoe == 0', {
'defines': [
'DISABLE_PPPOE',
@@ -322,6 +329,8 @@
'dbus/chromeos_dbus_control.cc',
'dbus/chromeos_dbus_daemon.cc',
'dbus/chromeos_device_dbus_adaptor.cc',
+ 'dbus/chromeos_dhcpcd_listener.cc',
+ 'dbus/chromeos_dhcpcd_proxy.cc',
'dbus/chromeos_ipconfig_dbus_adaptor.cc',
'dbus/chromeos_manager_dbus_adaptor.cc',
'dbus/chromeos_profile_dbus_adaptor.cc',
@@ -332,6 +341,16 @@
],
'actions': [
{
+ 'action_name': 'generate-dhcpcd-proxies',
+ 'variables': {
+ 'proxy_output_file': 'include/dhcpcd/dbus-proxies.h',
+ },
+ 'sources': [
+ 'dbus_bindings/dhcpcd.xml',
+ ],
+ 'includes': ['../common-mk/generate-dbus-proxies.gypi'],
+ },
+ {
'action_name': 'generate-upstart-proxies',
'variables': {
'proxy_output_file': 'include/upstart/dbus-proxies.h',