shill: Call OnPropertyChanged() for properties changed via Configure()

For wifi services on enterprise enrolled devices, credentials might be
pushed down asynchronously rather than entered by the user.  This
reveals that we don't update whether a network is connectable when
credentials arrive and are set via Service::Configure().

BUG=chromium-os:35774
TEST=Unit tests, wrote a new one

Change-Id: I60215a89c3991b4ce8035f730c790187e6ccc087
Reviewed-on: https://gerrit.chromium.org/gerrit/37304
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Christopher Wiley <wiley@chromium.org>
2 files changed
tree: 6c5d8a837a114f5de553900f3153b012c9b31dfd
  1. bin/
  2. dbus_bindings/
  3. doc/
  4. shims/
  5. .gitignore
  6. accessor_interface.h
  7. adaptor_interfaces.h
  8. arp_client.cc
  9. arp_client.h
  10. arp_client_unittest.cc
  11. arp_packet.cc
  12. arp_packet.h
  13. arp_packet_unittest.cc
  14. async_connection.cc
  15. async_connection.h
  16. async_connection_unittest.cc
  17. byte_string.cc
  18. byte_string.h
  19. byte_string_unittest.cc
  20. callback80211_metrics.cc
  21. callback80211_metrics.h
  22. callback80211_object.cc
  23. callback80211_object.h
  24. callbacks.h
  25. cellular.cc
  26. cellular.h
  27. cellular_capability.cc
  28. cellular_capability.h
  29. cellular_capability_cdma.cc
  30. cellular_capability_cdma.h
  31. cellular_capability_cdma_unittest.cc
  32. cellular_capability_classic.cc
  33. cellular_capability_classic.h
  34. cellular_capability_classic_unittest.cc
  35. cellular_capability_gsm.cc
  36. cellular_capability_gsm.h
  37. cellular_capability_gsm_unittest.cc
  38. cellular_capability_universal.cc
  39. cellular_capability_universal.h
  40. cellular_capability_universal_unittest.cc
  41. cellular_error.cc
  42. cellular_error.h
  43. cellular_operator_info.cc
  44. cellular_operator_info.h
  45. cellular_operator_info_unittest.cc
  46. cellular_service.cc
  47. cellular_service.h
  48. cellular_service_unittest.cc
  49. cellular_unittest.cc
  50. config80211.cc
  51. config80211.h
  52. config80211_unittest.cc
  53. connection.cc
  54. connection.h
  55. connection_unittest.cc
  56. control_interface.h
  57. crypto_des_cbc.cc
  58. crypto_des_cbc.h
  59. crypto_des_cbc_unittest.cc
  60. crypto_interface.h
  61. crypto_provider.cc
  62. crypto_provider.h
  63. crypto_provider_unittest.cc
  64. crypto_rot47.cc
  65. crypto_rot47.h
  66. crypto_rot47_unittest.cc
  67. dbus_adaptor.cc
  68. dbus_adaptor.h
  69. dbus_adaptor_unittest.cc
  70. dbus_control.cc
  71. dbus_control.h
  72. dbus_manager.cc
  73. dbus_manager.h
  74. dbus_manager_unittest.cc
  75. dbus_objectmanager_proxy.cc
  76. dbus_objectmanager_proxy.h
  77. dbus_objectmanager_proxy_interface.h
  78. dbus_properties.cc
  79. dbus_properties.h
  80. dbus_properties_proxy.cc
  81. dbus_properties_proxy.h
  82. dbus_properties_proxy_interface.h
  83. dbus_properties_unittest.cc
  84. dbus_property_matchers.h
  85. dbus_service_proxy.cc
  86. dbus_service_proxy.h
  87. dbus_service_proxy_interface.h
  88. default_profile.cc
  89. default_profile.h
  90. default_profile_unittest.cc
  91. device.cc
  92. device.h
  93. device_dbus_adaptor.cc
  94. device_dbus_adaptor.h
  95. device_info.cc
  96. device_info.h
  97. device_info_unittest.cc
  98. device_stub.h
  99. device_unittest.cc
  100. dhcp_config.cc
  101. dhcp_config.h
  102. dhcp_config_unittest.cc
  103. dhcp_provider.cc
  104. dhcp_provider.h
  105. dhcp_provider_unittest.cc
  106. dhcp_proxy_interface.h
  107. dhcpcd_proxy.cc
  108. dhcpcd_proxy.h
  109. dns_client.cc
  110. dns_client.h
  111. dns_client_unittest.cc
  112. endpoint.cc
  113. endpoint.h
  114. ephemeral_profile.cc
  115. ephemeral_profile.h
  116. error.cc
  117. error.h
  118. error_unittest.cc
  119. ethernet.cc
  120. ethernet.h
  121. ethernet_service.cc
  122. ethernet_service.h
  123. ethernet_service_unittest.cc
  124. event_dispatcher.cc
  125. event_dispatcher.h
  126. geolocation_info.cc
  127. geolocation_info.h
  128. glib.cc
  129. glib.h
  130. glib_io_input_handler.cc
  131. glib_io_input_handler.h
  132. glib_io_ready_handler.cc
  133. glib_io_ready_handler.h
  134. HACKING
  135. hook_table.cc
  136. hook_table.h
  137. hook_table_unittest.cc
  138. http_proxy.cc
  139. http_proxy.h
  140. http_proxy_unittest.cc
  141. http_request.cc
  142. http_request.h
  143. http_request_unittest.cc
  144. http_url.cc
  145. http_url.h
  146. http_url_unittest.cc
  147. ieee80211.h
  148. io_handler.h
  149. ip_address.cc
  150. ip_address.h
  151. ip_address_unittest.cc
  152. ipconfig.cc
  153. ipconfig.h
  154. ipconfig_dbus_adaptor.cc
  155. ipconfig_dbus_adaptor.h
  156. ipconfig_unittest.cc
  157. kernel_bound_nlmessage.cc
  158. kernel_bound_nlmessage.h
  159. key_file_store.cc
  160. key_file_store.h
  161. key_file_store_unittest.cc
  162. key_value_store.cc
  163. key_value_store.h
  164. key_value_store_matcher.h
  165. key_value_store_unittest.cc
  166. l2tp_ipsec_driver.cc
  167. l2tp_ipsec_driver.h
  168. l2tp_ipsec_driver_unittest.cc
  169. LICENSE
  170. link_monitor.cc
  171. link_monitor.h
  172. link_monitor_unittest.cc
  173. logging.h
  174. Makefile
  175. manager.cc
  176. manager.h
  177. manager_dbus_adaptor.cc
  178. manager_dbus_adaptor.h
  179. manager_unittest.cc
  180. memory_log.cc
  181. memory_log.h
  182. memory_log_unittest.cc
  183. metrics.cc
  184. metrics.h
  185. metrics_unittest.cc
  186. minijail.cc
  187. minijail.h
  188. mm1_modem_modem3gpp_proxy.cc
  189. mm1_modem_modem3gpp_proxy.h
  190. mm1_modem_modem3gpp_proxy_interface.h
  191. mm1_modem_modemcdma_proxy.cc
  192. mm1_modem_modemcdma_proxy.h
  193. mm1_modem_modemcdma_proxy_interface.h
  194. mm1_modem_proxy.cc
  195. mm1_modem_proxy.h
  196. mm1_modem_proxy_interface.h
  197. mm1_modem_simple_proxy.cc
  198. mm1_modem_simple_proxy.h
  199. mm1_modem_simple_proxy_interface.h
  200. mm1_sim_proxy.cc
  201. mm1_sim_proxy.h
  202. mm1_sim_proxy_interface.h
  203. mock_adaptors.cc
  204. mock_adaptors.h
  205. mock_ares.cc
  206. mock_ares.h
  207. mock_arp_client.cc
  208. mock_arp_client.h
  209. mock_async_connection.cc
  210. mock_async_connection.h
  211. mock_callback80211_object.h
  212. mock_cellular.cc
  213. mock_cellular.h
  214. mock_cellular_service.cc
  215. mock_cellular_service.h
  216. mock_connection.cc
  217. mock_connection.h
  218. mock_control.cc
  219. mock_control.h
  220. mock_dbus_manager.cc
  221. mock_dbus_manager.h
  222. mock_dbus_objectmanager_proxy.cc
  223. mock_dbus_objectmanager_proxy.h
  224. mock_dbus_properties_proxy.cc
  225. mock_dbus_properties_proxy.h
  226. mock_dbus_service_proxy.cc
  227. mock_dbus_service_proxy.h
  228. mock_device.cc
  229. mock_device.h
  230. mock_device_info.cc
  231. mock_device_info.h
  232. mock_dhcp_config.cc
  233. mock_dhcp_config.h
  234. mock_dhcp_provider.cc
  235. mock_dhcp_provider.h
  236. mock_dhcp_proxy.cc
  237. mock_dhcp_proxy.h
  238. mock_dns_client.cc
  239. mock_dns_client.h
  240. mock_ethernet.cc
  241. mock_ethernet.h
  242. mock_event_dispatcher.cc
  243. mock_event_dispatcher.h
  244. mock_glib.cc
  245. mock_glib.h
  246. mock_http_request.cc
  247. mock_http_request.h
  248. mock_ipconfig.cc
  249. mock_ipconfig.h
  250. mock_link_monitor.cc
  251. mock_link_monitor.h
  252. mock_log.cc
  253. mock_log.h
  254. mock_log_unittest.cc
  255. mock_manager.cc
  256. mock_manager.h
  257. mock_metrics.cc
  258. mock_metrics.h
  259. mock_minijail.cc
  260. mock_minijail.h
  261. mock_mm1_modem_modem3gpp_proxy.cc
  262. mock_mm1_modem_modem3gpp_proxy.h
  263. mock_mm1_modem_modemcdma_proxy.cc
  264. mock_mm1_modem_modemcdma_proxy.h
  265. mock_mm1_modem_proxy.cc
  266. mock_mm1_modem_proxy.h
  267. mock_mm1_modem_simple_proxy.cc
  268. mock_mm1_modem_simple_proxy.h
  269. mock_mm1_sim_proxy.cc
  270. mock_mm1_sim_proxy.h
  271. mock_modem.cc
  272. mock_modem.h
  273. mock_modem_cdma_proxy.cc
  274. mock_modem_cdma_proxy.h
  275. mock_modem_gobi_proxy.cc
  276. mock_modem_gobi_proxy.h
  277. mock_modem_gsm_card_proxy.cc
  278. mock_modem_gsm_card_proxy.h
  279. mock_modem_gsm_network_proxy.cc
  280. mock_modem_gsm_network_proxy.h
  281. mock_modem_info.cc
  282. mock_modem_info.h
  283. mock_modem_manager_proxy.cc
  284. mock_modem_manager_proxy.h
  285. mock_modem_proxy.cc
  286. mock_modem_proxy.h
  287. mock_modem_simple_proxy.cc
  288. mock_modem_simple_proxy.h
  289. mock_nl80211_socket.h
  290. mock_nss.cc
  291. mock_nss.h
  292. mock_openvpn_driver.cc
  293. mock_openvpn_driver.h
  294. mock_openvpn_management_server.cc
  295. mock_openvpn_management_server.h
  296. mock_portal_detector.cc
  297. mock_portal_detector.h
  298. mock_power_manager.cc
  299. mock_power_manager.h
  300. mock_power_manager_proxy.cc
  301. mock_power_manager_proxy.h
  302. mock_process_killer.cc
  303. mock_process_killer.h
  304. mock_profile.cc
  305. mock_profile.h
  306. mock_property_store.cc
  307. mock_property_store.h
  308. mock_proxy_factory.cc
  309. mock_proxy_factory.h
  310. mock_resolver.cc
  311. mock_resolver.h
  312. mock_routing_table.cc
  313. mock_routing_table.h
  314. mock_rtnl_handler.cc
  315. mock_rtnl_handler.h
  316. mock_service.cc
  317. mock_service.h
  318. mock_sockets.cc
  319. mock_sockets.h
  320. mock_store.cc
  321. mock_store.h
  322. mock_supplicant_bss_proxy.cc
  323. mock_supplicant_bss_proxy.h
  324. mock_supplicant_interface_proxy.cc
  325. mock_supplicant_interface_proxy.h
  326. mock_supplicant_process_proxy.cc
  327. mock_supplicant_process_proxy.h
  328. mock_time.cc
  329. mock_time.h
  330. mock_vpn.cc
  331. mock_vpn.h
  332. mock_vpn_driver.cc
  333. mock_vpn_driver.h
  334. mock_vpn_provider.cc
  335. mock_vpn_provider.h
  336. mock_vpn_service.cc
  337. mock_vpn_service.h
  338. mock_wifi.cc
  339. mock_wifi.h
  340. mock_wifi_service.cc
  341. mock_wifi_service.h
  342. mock_wimax.cc
  343. mock_wimax.h
  344. mock_wimax_device_proxy.cc
  345. mock_wimax_device_proxy.h
  346. mock_wimax_manager_proxy.cc
  347. mock_wimax_manager_proxy.h
  348. mock_wimax_network_proxy.cc
  349. mock_wimax_network_proxy.h
  350. mock_wimax_provider.cc
  351. mock_wimax_provider.h
  352. mock_wimax_service.cc
  353. mock_wimax_service.h
  354. modem.cc
  355. modem.h
  356. modem_1.cc
  357. modem_1_unittest.cc
  358. modem_cdma_proxy.cc
  359. modem_cdma_proxy.h
  360. modem_cdma_proxy_interface.h
  361. modem_classic.cc
  362. modem_gobi_proxy.cc
  363. modem_gobi_proxy.h
  364. modem_gobi_proxy_interface.h
  365. modem_gsm_card_proxy.cc
  366. modem_gsm_card_proxy.h
  367. modem_gsm_card_proxy_interface.h
  368. modem_gsm_network_proxy.cc
  369. modem_gsm_network_proxy.h
  370. modem_gsm_network_proxy_interface.h
  371. modem_info.cc
  372. modem_info.h
  373. modem_info_unittest.cc
  374. modem_manager.cc
  375. modem_manager.h
  376. modem_manager_1.cc
  377. modem_manager_proxy.cc
  378. modem_manager_proxy.h
  379. modem_manager_proxy_interface.h
  380. modem_manager_unittest.cc
  381. modem_proxy.cc
  382. modem_proxy.h
  383. modem_proxy_interface.h
  384. modem_simple_proxy.cc
  385. modem_simple_proxy.h
  386. modem_simple_proxy_interface.h
  387. modem_unittest.cc
  388. netlink_socket.cc
  389. netlink_socket.h
  390. nice_mock_control.cc
  391. nice_mock_control.h
  392. nl80211_socket.cc
  393. nl80211_socket.h
  394. nss.cc
  395. nss.h
  396. nss_unittest.cc
  397. openvpn_driver.cc
  398. openvpn_driver.h
  399. openvpn_driver_unittest.cc
  400. openvpn_management_server.cc
  401. openvpn_management_server.h
  402. openvpn_management_server_unittest.cc
  403. portal_detector.cc
  404. portal_detector.h
  405. portal_detector_unittest.cc
  406. power_manager.cc
  407. power_manager.h
  408. power_manager_proxy.cc
  409. power_manager_proxy.h
  410. power_manager_proxy_interface.h
  411. power_manager_unittest.cc
  412. process_killer.cc
  413. process_killer.h
  414. process_killer_unittest.cc
  415. profile.cc
  416. profile.h
  417. profile_dbus_adaptor.cc
  418. profile_dbus_adaptor.h
  419. profile_dbus_property_exporter.cc
  420. profile_dbus_property_exporter.h
  421. profile_dbus_property_exporter_unittest.cc
  422. profile_unittest.cc
  423. property_accessor.h
  424. property_accessor_unittest.cc
  425. property_iterator.h
  426. property_store.cc
  427. property_store.h
  428. property_store_inspector.cc
  429. property_store_inspector.h
  430. property_store_unittest.cc
  431. property_store_unittest.h
  432. provider_db_unittest.bfd
  433. proxy_factory.cc
  434. proxy_factory.h
  435. refptr_types.h
  436. resolver.cc
  437. resolver.h
  438. resolver_unittest.cc
  439. routing_table.cc
  440. routing_table.h
  441. routing_table_entry.h
  442. routing_table_unittest.cc
  443. rpc_task.cc
  444. rpc_task.h
  445. rpc_task_dbus_adaptor.cc
  446. rpc_task_dbus_adaptor.h
  447. rpc_task_unittest.cc
  448. rtnl_handler.cc
  449. rtnl_handler.h
  450. rtnl_handler_unittest.cc
  451. rtnl_listener.cc
  452. rtnl_listener.h
  453. rtnl_listener_unittest.cc
  454. rtnl_message.cc
  455. rtnl_message.h
  456. rtnl_message_unittest.cc
  457. scope_logger.cc
  458. scope_logger.h
  459. scope_logger_unittest.cc
  460. service.cc
  461. service.h
  462. service_dbus_adaptor.cc
  463. service_dbus_adaptor.h
  464. service_sorter.h
  465. service_under_test.cc
  466. service_under_test.h
  467. service_unittest.cc
  468. shill_ares.cc
  469. shill_ares.h
  470. shill_config.cc
  471. shill_config.h
  472. shill_daemon.cc
  473. shill_daemon.h
  474. shill_main.cc
  475. shill_test_config.cc
  476. shill_test_config.h
  477. shill_time.cc
  478. shill_time.h
  479. shill_unittest.cc
  480. sockets.cc
  481. sockets.h
  482. static_ip_parameters.cc
  483. static_ip_parameters.h
  484. static_ip_parameters_unittest.cc
  485. store_interface.h
  486. supplicant_bss_proxy.cc
  487. supplicant_bss_proxy.h
  488. supplicant_bss_proxy_interface.h
  489. supplicant_interface_proxy.cc
  490. supplicant_interface_proxy.h
  491. supplicant_interface_proxy_interface.h
  492. supplicant_process_proxy.cc
  493. supplicant_process_proxy.h
  494. supplicant_process_proxy_interface.h
  495. technology.cc
  496. technology.h
  497. technology_unittest.cc
  498. TESTING
  499. testrunner.cc
  500. user_bound_nlmessage.cc
  501. user_bound_nlmessage.h
  502. virtio_ethernet.cc
  503. virtio_ethernet.h
  504. vpn.cc
  505. vpn.h
  506. vpn_driver.cc
  507. vpn_driver.h
  508. vpn_driver_unittest.cc
  509. vpn_provider.cc
  510. vpn_provider.h
  511. vpn_provider_unittest.cc
  512. vpn_service.cc
  513. vpn_service.h
  514. vpn_service_unittest.cc
  515. vpn_unittest.cc
  516. wifi.cc
  517. wifi.h
  518. wifi_endpoint.cc
  519. wifi_endpoint.h
  520. wifi_endpoint_unittest.cc
  521. wifi_service.cc
  522. wifi_service.h
  523. wifi_service_unittest.cc
  524. wifi_unittest.cc
  525. wimax.cc
  526. wimax.h
  527. wimax_device_proxy.cc
  528. wimax_device_proxy.h
  529. wimax_device_proxy_interface.h
  530. wimax_manager_proxy.cc
  531. wimax_manager_proxy.h
  532. wimax_manager_proxy_interface.h
  533. wimax_network_proxy.cc
  534. wimax_network_proxy.h
  535. wimax_network_proxy_interface.h
  536. wimax_provider.cc
  537. wimax_provider.h
  538. wimax_provider_unittest.cc
  539. wimax_service.cc
  540. wimax_service.h
  541. wimax_service_unittest.cc
  542. wimax_unittest.cc
  543. wpa_supplicant.cc
  544. wpa_supplicant.h