shill: Parse dhcpcd Event signal properties.
BUG=chromium-os:16126
TEST=unit test
Change-Id: Idafd3cebc015a5f900fd589c27dfcd1b405da7ef
Reviewed-on: http://gerrit.chromium.org/gerrit/2126
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/dhcpcd_proxy.cc b/dhcpcd_proxy.cc
index 9f577c5..2552a29 100644
--- a/dhcpcd_proxy.cc
+++ b/dhcpcd_proxy.cc
@@ -8,7 +8,9 @@
#include "shill/dhcp_provider.h"
+using std::map;
using std::string;
+using std::vector;
namespace shill {
@@ -38,8 +40,12 @@
return;
}
config->InitProxy(&conn(), signal.sender());
- // TODO(petkov): Process and dispatch the signal to the appropriate DHCP
- // configuration.
+
+ string reason;
+ ri >> reason;
+ DHCPConfig::Configuration configuration;
+ ri >> configuration;
+ config->ProcessEventSignal(reason, configuration);
}
void DHCPCDListener::StatusChangedSignal(const DBus::SignalMessage &signal) {
@@ -74,15 +80,14 @@
Rebind(interface);
}
-void DHCPCDProxy::Event(
- const uint32_t& pid,
- const std::string& reason,
- const std::map< std::string, DBus::Variant >& configuration) {
+void DHCPCDProxy::Event(const uint32_t &pid,
+ const std::string &reason,
+ const DHCPConfig::Configuration &configuration) {
NOTREACHED();
}
-void DHCPCDProxy::StatusChanged(const uint32_t& pid,
- const std::string& status) {
+void DHCPCDProxy::StatusChanged(const uint32_t &pid,
+ const std::string &status) {
NOTREACHED();
}