shill: Fix a crash on creation of Cellular device.

Main fix is that DeviceInfo doesn't create/manage kCellular devices thus
avoiding D-Bus path collisions. Also, create the Cellular device in a delayed
task because the WiFi comments say that D-Bus objects can't be registered in
signal callbacks.

Fixes bad dispatcher_ member initialization and missing manager_ initialization.

Adds a DispatchPendingEvents method to the event dispatcher useful for testing.

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

Change-Id: Ib8859dfe59f7a3fd7b3978793dc8f38f22609db5
Reviewed-on: http://gerrit.chromium.org/gerrit/4771
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
11 files changed
tree: 022b9c3621531bbad96e0c441cb5d8f55d6487f1
  1. dbus_bindings/
  2. accessor_interface.h
  3. adaptor_interfaces.h
  4. byte_string.cc
  5. byte_string.h
  6. byte_string_unittest.cc
  7. cellular.cc
  8. cellular.h
  9. cellular_service.cc
  10. cellular_service.h
  11. cellular_unittest.cc
  12. control_interface.h
  13. crypto_des_cbc.cc
  14. crypto_des_cbc.h
  15. crypto_des_cbc_unittest.cc
  16. crypto_interface.h
  17. crypto_provider.cc
  18. crypto_provider.h
  19. crypto_provider_unittest.cc
  20. crypto_rot47.cc
  21. crypto_rot47.h
  22. crypto_rot47_unittest.cc
  23. dbus_adaptor.cc
  24. dbus_adaptor.h
  25. dbus_adaptor_unittest.cc
  26. dbus_control.cc
  27. dbus_control.h
  28. dbus_properties.cc
  29. dbus_properties.h
  30. dbus_properties_proxy.cc
  31. dbus_properties_proxy.h
  32. dbus_properties_proxy_interface.h
  33. dbus_properties_unittest.cc
  34. default_profile.cc
  35. default_profile.h
  36. default_profile_unittest.cc
  37. device.cc
  38. device.h
  39. device_dbus_adaptor.cc
  40. device_dbus_adaptor.h
  41. device_info.cc
  42. device_info.h
  43. device_info_unittest.cc
  44. device_stub.h
  45. device_unittest.cc
  46. dhcp_config.cc
  47. dhcp_config.h
  48. dhcp_config_unittest.cc
  49. dhcp_provider.cc
  50. dhcp_provider.h
  51. dhcp_provider_unittest.cc
  52. dhcp_proxy_interface.h
  53. dhcpcd_proxy.cc
  54. dhcpcd_proxy.h
  55. endpoint.cc
  56. endpoint.h
  57. ephemeral_profile.cc
  58. ephemeral_profile.h
  59. error.cc
  60. error.h
  61. ethernet.cc
  62. ethernet.h
  63. ethernet_service.cc
  64. ethernet_service.h
  65. glib.cc
  66. glib.h
  67. glib_io_handler.cc
  68. glib_io_handler.h
  69. inherit-review-settings-ok
  70. io_handler.h
  71. ip_address.cc
  72. ip_address.h
  73. ip_address_unittest.cc
  74. ipconfig.cc
  75. ipconfig.h
  76. ipconfig_dbus_adaptor.cc
  77. ipconfig_dbus_adaptor.h
  78. ipconfig_unittest.cc
  79. key_file_store.cc
  80. key_file_store.h
  81. key_file_store_unittest.cc
  82. Makefile
  83. manager.cc
  84. manager.h
  85. manager_dbus_adaptor.cc
  86. manager_dbus_adaptor.h
  87. manager_unittest.cc
  88. mock_adaptors.cc
  89. mock_adaptors.h
  90. mock_control.cc
  91. mock_control.h
  92. mock_dbus_properties_proxy.h
  93. mock_device.cc
  94. mock_device.h
  95. mock_dhcp_proxy.h
  96. mock_glib.h
  97. mock_modem_manager_proxy.h
  98. mock_profile.cc
  99. mock_profile.h
  100. mock_property_store.h
  101. mock_service.cc
  102. mock_service.h
  103. mock_sockets.h
  104. mock_store.h
  105. mock_supplicant_interface_proxy.h
  106. mock_supplicant_process_proxy.h
  107. modem.cc
  108. modem.h
  109. modem_info.cc
  110. modem_info.h
  111. modem_info_unittest.cc
  112. modem_manager.cc
  113. modem_manager.h
  114. modem_manager_proxy.cc
  115. modem_manager_proxy.h
  116. modem_manager_proxy_interface.h
  117. modem_manager_unittest.cc
  118. modem_unittest.cc
  119. profile.cc
  120. profile.h
  121. profile_dbus_adaptor.cc
  122. profile_dbus_adaptor.h
  123. profile_unittest.cc
  124. property_accessor.h
  125. property_accessor_unittest.cc
  126. property_iterator.h
  127. property_store.cc
  128. property_store.h
  129. property_store_unittest.cc
  130. property_store_unittest.h
  131. proxy_factory.cc
  132. proxy_factory.h
  133. refptr_types.h
  134. rtnl_handler.cc
  135. rtnl_handler.h
  136. rtnl_handler_unittest.cc
  137. rtnl_listener.cc
  138. rtnl_listener.h
  139. rtnl_listener_unittest.cc
  140. service.cc
  141. service.h
  142. service_dbus_adaptor.cc
  143. service_dbus_adaptor.h
  144. service_unittest.cc
  145. shill.conf
  146. shill_config.cc
  147. shill_config.h
  148. shill_daemon.cc
  149. shill_daemon.h
  150. shill_event.cc
  151. shill_event.h
  152. shill_main.cc
  153. shill_unittest.cc
  154. sockets.cc
  155. sockets.h
  156. store_interface.h
  157. supplicant_interface_proxy.cc
  158. supplicant_interface_proxy.h
  159. supplicant_interface_proxy_interface.h
  160. supplicant_process_proxy.cc
  161. supplicant_process_proxy.h
  162. supplicant_process_proxy_interface.h
  163. testrunner.cc
  164. WATCHLISTS
  165. wifi.cc
  166. wifi.h
  167. wifi_endpoint.cc
  168. wifi_endpoint.h
  169. wifi_service.cc
  170. wifi_service.h
  171. wifi_unittest.cc