shill: Don't create DHCP and Modem D-Bus proxies in signal callbacks.

dbus-c++ doesn't allow proxy creation in signal callbacks so create them in
deferred tasks instead.

BUG=chromium-os:18228
TEST=unit tests, tested on device

Change-Id: I4f85ab937aef99ef4556c5a3c16af913d8fa08fd
Reviewed-on: http://gerrit.chromium.org/gerrit/4827
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
diff --git a/shill_main.cc b/shill_main.cc
index 03728b0..769669d 100644
--- a/shill_main.cc
+++ b/shill_main.cc
@@ -15,9 +15,6 @@
 #include <chromeos/syslog_logging.h>
 
 #include "shill/dbus_control.h"
-#include "shill/dhcp_provider.h"
-#include "shill/glib.h"
-#include "shill/proxy_factory.h"
 #include "shill/shill_config.h"
 #include "shill/shill_daemon.h"
 
@@ -105,16 +102,7 @@
   scoped_ptr<shill::DBusControl> dbus_control(new shill::DBusControl());
   dbus_control->Init();
 
-  shill::ProxyFactory proxy_factory;
-  proxy_factory.Init();
-  shill::ProxyFactory::set_factory(&proxy_factory);
-
-  shill::GLib glib;
-  glib.TypeInit();
-
-  shill::DHCPProvider::GetInstance()->Init(dbus_control.get(), &glib);
-
-  shill::Daemon daemon(&config, dbus_control.get(), &glib);
+  shill::Daemon daemon(&config, dbus_control.get());
 
   if (cl->HasSwitch(switches::kDeviceBlackList)) {
     vector<string> device_list;