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/modem.h b/modem.h
index a51d875..e3e5f67 100644
--- a/modem.h
+++ b/modem.h
@@ -41,6 +41,8 @@
private:
friend class ModemManagerTest;
friend class ModemTest;
+ FRIEND_TEST(ModemManagerTest, Connect);
+ FRIEND_TEST(ModemManagerTest, AddRemoveModem);
FRIEND_TEST(ModemTest, CreateCellularDevice);
FRIEND_TEST(ModemTest, Init);
@@ -50,6 +52,8 @@
static const char kPropertyUnlockRequired[];
static const char kPropertyUnlockRetries[];
+ void InitTask();
+
// Creates and registers a Cellular device in |device_| based on
// ModemManager.Modem's |properties|. The device may not be created if the
// properties are invalid.