shill -- connect dhcp config to proxies and provider.

In addition, spawn dhcpcd on request.

Cleanup the Makefile a bit. Don't do lazy initialization of dbus_control so that
the connection can be passed to DHCPProvider.

BUG=chromium-os:16013
TEST=modified device_info to request a DHCPConfig for a DeviceStub.

Change-Id: Ib3b032b25bd5b071635816635bf6066cc3b386d5
Reviewed-on: http://gerrit.chromium.org/gerrit/2024
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
diff --git a/shill_main.cc b/shill_main.cc
index ea45859..da9dc41 100644
--- a/shill_main.cc
+++ b/shill_main.cc
@@ -11,8 +11,9 @@
 #include <base/logging.h>
 #include <chromeos/syslog_logging.h>
 
-#include "shill/shill_daemon.h"
 #include "shill/dbus_control.h"
+#include "shill/dhcp_provider.h"
+#include "shill/shill_daemon.h"
 
 using std::string;
 
@@ -72,9 +73,11 @@
   shill::Config config; /* (config_dir, default_config_dir) */
 
   // TODO(pstew): This should be chosen based on config
-  shill::ControlInterface *control_interface = new shill::DBusControl();
+  shill::DBusControl *dbus_control = new shill::DBusControl();
+  dbus_control->Init();
+  shill::DHCPProvider::GetInstance()->Init(dbus_control->connection());
 
-  shill::Daemon daemon(&config, control_interface);
+  shill::Daemon daemon(&config, dbus_control);
   daemon.Run();
 
   return 0;