shill: Create an IPAddress store in Manager for ConnectionHealthChecker

(1) Added class IPAddressStore
(2) Added an IPAddressStore object to Manager
(3) ConnectionHealthChecker uses this object so that the store persists
    across Device resets.

BUG=chromium:232883
TEST=build and run unit-tests.

Change-Id: I0d4f6de7c2c4d3b92bff76a4de3c663a42b9389f
Reviewed-on: https://gerrit.chromium.org/gerrit/48445
Reviewed-by: Arman Uguray <armansito@chromium.org>
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
17 files changed
tree: 20e32ca0cf625690c55e471ce926c8c80baee977
  1. bin/
  2. data/
  3. dbus_bindings/
  4. doc/
  5. shims/
  6. test-scripts/
  7. .gitignore
  8. accessor_interface.h
  9. activating_iccid_store.cc
  10. activating_iccid_store.h
  11. activating_iccid_store_unittest.cc
  12. adaptor_interfaces.h
  13. arp_client.cc
  14. arp_client.h
  15. arp_client_unittest.cc
  16. arp_packet.cc
  17. arp_packet.h
  18. arp_packet_unittest.cc
  19. async_connection.cc
  20. async_connection.h
  21. async_connection_unittest.cc
  22. attribute_list.cc
  23. attribute_list.h
  24. byte_string.cc
  25. byte_string.h
  26. byte_string_unittest.cc
  27. callback80211_metrics.cc
  28. callback80211_metrics.h
  29. callbacks.h
  30. cellular.cc
  31. cellular.h
  32. cellular_capability.cc
  33. cellular_capability.h
  34. cellular_capability_cdma.cc
  35. cellular_capability_cdma.h
  36. cellular_capability_cdma_unittest.cc
  37. cellular_capability_classic.cc
  38. cellular_capability_classic.h
  39. cellular_capability_classic_unittest.cc
  40. cellular_capability_gsm.cc
  41. cellular_capability_gsm.h
  42. cellular_capability_gsm_unittest.cc
  43. cellular_capability_universal.cc
  44. cellular_capability_universal.h
  45. cellular_capability_universal_unittest.cc
  46. cellular_error.cc
  47. cellular_error.h
  48. cellular_operator_info.cc
  49. cellular_operator_info.h
  50. cellular_operator_info_unittest.cc
  51. cellular_service.cc
  52. cellular_service.h
  53. cellular_service_unittest.cc
  54. cellular_unittest.cc
  55. certificate_file.cc
  56. certificate_file.h
  57. certificate_file_unittest.cc
  58. connection.cc
  59. connection.h
  60. connection_health_checker.cc
  61. connection_health_checker.h
  62. connection_health_checker_unittest.cc
  63. connection_info.cc
  64. connection_info.h
  65. connection_info_reader.cc
  66. connection_info_reader.h
  67. connection_info_reader_unittest.cc
  68. connection_info_unittest.cc
  69. connection_unittest.cc
  70. control_interface.h
  71. control_netlink_attribute.cc
  72. control_netlink_attribute.h
  73. crypto_des_cbc.cc
  74. crypto_des_cbc.h
  75. crypto_des_cbc_unittest.cc
  76. crypto_interface.h
  77. crypto_provider.cc
  78. crypto_provider.h
  79. crypto_provider_unittest.cc
  80. crypto_rot47.cc
  81. crypto_rot47.h
  82. crypto_rot47_unittest.cc
  83. crypto_util_proxy.cc
  84. crypto_util_proxy.h
  85. crypto_util_proxy_unittest.cc
  86. dbus_adaptor.cc
  87. dbus_adaptor.h
  88. dbus_adaptor_unittest.cc
  89. dbus_control.cc
  90. dbus_control.h
  91. dbus_manager.cc
  92. dbus_manager.h
  93. dbus_manager_unittest.cc
  94. dbus_objectmanager_proxy.cc
  95. dbus_objectmanager_proxy.h
  96. dbus_objectmanager_proxy_interface.h
  97. dbus_properties.cc
  98. dbus_properties.h
  99. dbus_properties_proxy.cc
  100. dbus_properties_proxy.h
  101. dbus_properties_proxy_interface.h
  102. dbus_properties_unittest.cc
  103. dbus_property_matchers.h
  104. dbus_service_proxy.cc
  105. dbus_service_proxy.h
  106. dbus_service_proxy_interface.h
  107. dbus_variant_gmock_printer.cc
  108. dbus_variant_gmock_printer.h
  109. default_profile.cc
  110. default_profile.h
  111. default_profile_unittest.cc
  112. device.cc
  113. device.h
  114. device_dbus_adaptor.cc
  115. device_dbus_adaptor.h
  116. device_info.cc
  117. device_info.h
  118. device_info_unittest.cc
  119. device_stub.h
  120. device_unittest.cc
  121. dhcp_config.cc
  122. dhcp_config.h
  123. dhcp_config_unittest.cc
  124. dhcp_provider.cc
  125. dhcp_provider.h
  126. dhcp_provider_unittest.cc
  127. dhcp_proxy_interface.h
  128. dhcpcd_proxy.cc
  129. dhcpcd_proxy.h
  130. diagnostics_reporter.cc
  131. diagnostics_reporter.h
  132. diagnostics_reporter_unittest.cc
  133. dns_client.cc
  134. dns_client.h
  135. dns_client_factory.cc
  136. dns_client_factory.h
  137. dns_client_unittest.cc
  138. eap_credentials.cc
  139. eap_credentials.h
  140. eap_credentials_unittest.cc
  141. eap_listener.cc
  142. eap_listener.h
  143. eap_listener_unittest.cc
  144. eap_protocol.h
  145. endpoint.cc
  146. endpoint.h
  147. ephemeral_profile.cc
  148. ephemeral_profile.h
  149. error.cc
  150. error.h
  151. error_unittest.cc
  152. ethernet.cc
  153. ethernet.h
  154. ethernet_eap_provider.cc
  155. ethernet_eap_provider.h
  156. ethernet_eap_provider_unittest.cc
  157. ethernet_eap_service.cc
  158. ethernet_eap_service.h
  159. ethernet_eap_service_unittest.cc
  160. ethernet_service.cc
  161. ethernet_service.h
  162. ethernet_service_unittest.cc
  163. ethernet_unittest.cc
  164. event_dispatcher.cc
  165. event_dispatcher.h
  166. file_io.cc
  167. file_io.h
  168. file_reader.cc
  169. file_reader.h
  170. file_reader_unittest.cc
  171. generic_netlink_message.cc
  172. generic_netlink_message.h
  173. geolocation_info.cc
  174. geolocation_info.h
  175. glib.cc
  176. glib.h
  177. glib_io_input_handler.cc
  178. glib_io_input_handler.h
  179. glib_io_ready_handler.cc
  180. glib_io_ready_handler.h
  181. HACKING
  182. hook_table.cc
  183. hook_table.h
  184. hook_table_unittest.cc
  185. http_proxy.cc
  186. http_proxy.h
  187. http_proxy_unittest.cc
  188. http_request.cc
  189. http_request.h
  190. http_request_unittest.cc
  191. http_url.cc
  192. http_url.h
  193. http_url_unittest.cc
  194. ieee80211.h
  195. io_handler.h
  196. ip_address.cc
  197. ip_address.h
  198. ip_address_store.cc
  199. ip_address_store.h
  200. ip_address_store_unittest.cc
  201. ip_address_unittest.cc
  202. ipconfig.cc
  203. ipconfig.h
  204. ipconfig_dbus_adaptor.cc
  205. ipconfig_dbus_adaptor.h
  206. ipconfig_unittest.cc
  207. key_file_store.cc
  208. key_file_store.h
  209. key_file_store_unittest.cc
  210. key_value_store.cc
  211. key_value_store.h
  212. key_value_store_unittest.cc
  213. l2tp_ipsec_driver.cc
  214. l2tp_ipsec_driver.h
  215. l2tp_ipsec_driver_unittest.cc
  216. LICENSE
  217. link_monitor.cc
  218. link_monitor.h
  219. link_monitor_unittest.cc
  220. logging.h
  221. Makefile
  222. manager.cc
  223. manager.h
  224. manager_dbus_adaptor.cc
  225. manager_dbus_adaptor.h
  226. manager_unittest.cc
  227. memory_log.cc
  228. memory_log.h
  229. memory_log_unittest.cc
  230. metrics.cc
  231. metrics.h
  232. metrics_unittest.cc
  233. minijail.cc
  234. minijail.h
  235. mm1_bearer_proxy.cc
  236. mm1_bearer_proxy.h
  237. mm1_bearer_proxy_interface.h
  238. mm1_modem_location_proxy.cc
  239. mm1_modem_location_proxy.h
  240. mm1_modem_location_proxy_interface.h
  241. mm1_modem_modem3gpp_proxy.cc
  242. mm1_modem_modem3gpp_proxy.h
  243. mm1_modem_modem3gpp_proxy_interface.h
  244. mm1_modem_modemcdma_proxy.cc
  245. mm1_modem_modemcdma_proxy.h
  246. mm1_modem_modemcdma_proxy_interface.h
  247. mm1_modem_proxy.cc
  248. mm1_modem_proxy.h
  249. mm1_modem_proxy_interface.h
  250. mm1_modem_simple_proxy.cc
  251. mm1_modem_simple_proxy.h
  252. mm1_modem_simple_proxy_interface.h
  253. mm1_modem_time_proxy.cc
  254. mm1_modem_time_proxy.h
  255. mm1_modem_time_proxy_interface.h
  256. mm1_sim_proxy.cc
  257. mm1_sim_proxy.h
  258. mm1_sim_proxy_interface.h
  259. mock_activating_iccid_store.cc
  260. mock_activating_iccid_store.h
  261. mock_adaptors.cc
  262. mock_adaptors.h
  263. mock_ares.cc
  264. mock_ares.h
  265. mock_arp_client.cc
  266. mock_arp_client.h
  267. mock_async_connection.cc
  268. mock_async_connection.h
  269. mock_cellular.cc
  270. mock_cellular.h
  271. mock_cellular_operator_info.cc
  272. mock_cellular_operator_info.h
  273. mock_cellular_service.cc
  274. mock_cellular_service.h
  275. mock_certificate_file.cc
  276. mock_certificate_file.h
  277. mock_connection.cc
  278. mock_connection.h
  279. mock_connection_health_checker.cc
  280. mock_connection_health_checker.h
  281. mock_connection_info_reader.cc
  282. mock_connection_info_reader.h
  283. mock_control.cc
  284. mock_control.h
  285. mock_crypto_util_proxy.h
  286. mock_dbus_manager.cc
  287. mock_dbus_manager.h
  288. mock_dbus_objectmanager_proxy.cc
  289. mock_dbus_objectmanager_proxy.h
  290. mock_dbus_properties_proxy.cc
  291. mock_dbus_properties_proxy.h
  292. mock_dbus_service_proxy.cc
  293. mock_dbus_service_proxy.h
  294. mock_device.cc
  295. mock_device.h
  296. mock_device_info.cc
  297. mock_device_info.h
  298. mock_dhcp_config.cc
  299. mock_dhcp_config.h
  300. mock_dhcp_provider.cc
  301. mock_dhcp_provider.h
  302. mock_dhcp_proxy.cc
  303. mock_dhcp_proxy.h
  304. mock_diagnostics_reporter.cc
  305. mock_diagnostics_reporter.h
  306. mock_dns_client.cc
  307. mock_dns_client.h
  308. mock_dns_client_factory.cc
  309. mock_dns_client_factory.h
  310. mock_eap_credentials.cc
  311. mock_eap_credentials.h
  312. mock_eap_listener.cc
  313. mock_eap_listener.h
  314. mock_ethernet.cc
  315. mock_ethernet.h
  316. mock_ethernet_eap_provider.cc
  317. mock_ethernet_eap_provider.h
  318. mock_ethernet_service.cc
  319. mock_ethernet_service.h
  320. mock_event_dispatcher.cc
  321. mock_event_dispatcher.h
  322. mock_file_io.h
  323. mock_glib.cc
  324. mock_glib.h
  325. mock_http_request.cc
  326. mock_http_request.h
  327. mock_ip_address_store.cc
  328. mock_ip_address_store.h
  329. mock_ipconfig.cc
  330. mock_ipconfig.h
  331. mock_link_monitor.cc
  332. mock_link_monitor.h
  333. mock_log.cc
  334. mock_log.h
  335. mock_log_unittest.cc
  336. mock_manager.cc
  337. mock_manager.h
  338. mock_metrics.cc
  339. mock_metrics.h
  340. mock_minijail.cc
  341. mock_minijail.h
  342. mock_mm1_bearer_proxy.cc
  343. mock_mm1_bearer_proxy.h
  344. mock_mm1_modem_location_proxy.cc
  345. mock_mm1_modem_location_proxy.h
  346. mock_mm1_modem_modem3gpp_proxy.cc
  347. mock_mm1_modem_modem3gpp_proxy.h
  348. mock_mm1_modem_modemcdma_proxy.cc
  349. mock_mm1_modem_modemcdma_proxy.h
  350. mock_mm1_modem_proxy.cc
  351. mock_mm1_modem_proxy.h
  352. mock_mm1_modem_simple_proxy.cc
  353. mock_mm1_modem_simple_proxy.h
  354. mock_mm1_modem_time_proxy.cc
  355. mock_mm1_modem_time_proxy.h
  356. mock_mm1_sim_proxy.cc
  357. mock_mm1_sim_proxy.h
  358. mock_modem.cc
  359. mock_modem.h
  360. mock_modem_cdma_proxy.cc
  361. mock_modem_cdma_proxy.h
  362. mock_modem_gobi_proxy.cc
  363. mock_modem_gobi_proxy.h
  364. mock_modem_gsm_card_proxy.cc
  365. mock_modem_gsm_card_proxy.h
  366. mock_modem_gsm_network_proxy.cc
  367. mock_modem_gsm_network_proxy.h
  368. mock_modem_info.cc
  369. mock_modem_info.h
  370. mock_modem_manager_proxy.cc
  371. mock_modem_manager_proxy.h
  372. mock_modem_proxy.cc
  373. mock_modem_proxy.h
  374. mock_modem_simple_proxy.cc
  375. mock_modem_simple_proxy.h
  376. mock_netlink_manager.h
  377. mock_netlink_socket.h
  378. mock_nss.cc
  379. mock_nss.h
  380. mock_openvpn_driver.cc
  381. mock_openvpn_driver.h
  382. mock_openvpn_management_server.cc
  383. mock_openvpn_management_server.h
  384. mock_portal_detector.cc
  385. mock_portal_detector.h
  386. mock_power_manager.cc
  387. mock_power_manager.h
  388. mock_power_manager_proxy.cc
  389. mock_power_manager_proxy.h
  390. mock_process_killer.cc
  391. mock_process_killer.h
  392. mock_profile.cc
  393. mock_profile.h
  394. mock_property_store.cc
  395. mock_property_store.h
  396. mock_proxy_factory.cc
  397. mock_proxy_factory.h
  398. mock_resolver.cc
  399. mock_resolver.h
  400. mock_routing_table.cc
  401. mock_routing_table.h
  402. mock_rtnl_handler.cc
  403. mock_rtnl_handler.h
  404. mock_service.cc
  405. mock_service.h
  406. mock_socket_info_reader.cc
  407. mock_socket_info_reader.h
  408. mock_sockets.cc
  409. mock_sockets.h
  410. mock_store.cc
  411. mock_store.h
  412. mock_supplicant_bss_proxy.cc
  413. mock_supplicant_bss_proxy.h
  414. mock_supplicant_eap_state_handler.cc
  415. mock_supplicant_eap_state_handler.h
  416. mock_supplicant_interface_proxy.cc
  417. mock_supplicant_interface_proxy.h
  418. mock_supplicant_network_proxy.cc
  419. mock_supplicant_network_proxy.h
  420. mock_supplicant_process_proxy.cc
  421. mock_supplicant_process_proxy.h
  422. mock_time.cc
  423. mock_time.h
  424. mock_traffic_monitor.cc
  425. mock_traffic_monitor.h
  426. mock_vpn.cc
  427. mock_vpn.h
  428. mock_vpn_driver.cc
  429. mock_vpn_driver.h
  430. mock_vpn_provider.cc
  431. mock_vpn_provider.h
  432. mock_vpn_service.cc
  433. mock_vpn_service.h
  434. mock_wifi.cc
  435. mock_wifi.h
  436. mock_wifi_provider.cc
  437. mock_wifi_provider.h
  438. mock_wifi_service.cc
  439. mock_wifi_service.h
  440. mock_wimax.cc
  441. mock_wimax.h
  442. mock_wimax_device_proxy.cc
  443. mock_wimax_device_proxy.h
  444. mock_wimax_manager_proxy.cc
  445. mock_wimax_manager_proxy.h
  446. mock_wimax_network_proxy.cc
  447. mock_wimax_network_proxy.h
  448. mock_wimax_provider.cc
  449. mock_wimax_provider.h
  450. mock_wimax_service.cc
  451. mock_wimax_service.h
  452. modem.cc
  453. modem.h
  454. modem_1.cc
  455. modem_1_unittest.cc
  456. modem_cdma_proxy.cc
  457. modem_cdma_proxy.h
  458. modem_cdma_proxy_interface.h
  459. modem_classic.cc
  460. modem_gobi_proxy.cc
  461. modem_gobi_proxy.h
  462. modem_gobi_proxy_interface.h
  463. modem_gsm_card_proxy.cc
  464. modem_gsm_card_proxy.h
  465. modem_gsm_card_proxy_interface.h
  466. modem_gsm_network_proxy.cc
  467. modem_gsm_network_proxy.h
  468. modem_gsm_network_proxy_interface.h
  469. modem_info.cc
  470. modem_info.h
  471. modem_info_unittest.cc
  472. modem_manager.cc
  473. modem_manager.h
  474. modem_manager_1.cc
  475. modem_manager_proxy.cc
  476. modem_manager_proxy.h
  477. modem_manager_proxy_interface.h
  478. modem_manager_unittest.cc
  479. modem_proxy.cc
  480. modem_proxy.h
  481. modem_proxy_interface.h
  482. modem_simple_proxy.cc
  483. modem_simple_proxy.h
  484. modem_simple_proxy_interface.h
  485. modem_unittest.cc
  486. netlink_attribute.cc
  487. netlink_attribute.h
  488. netlink_manager.cc
  489. netlink_manager.h
  490. netlink_manager_unittest.cc
  491. netlink_message.cc
  492. netlink_message.h
  493. netlink_message_unittest.cc
  494. netlink_socket.cc
  495. netlink_socket.h
  496. netlink_socket_unittest.cc
  497. nice_mock_control.cc
  498. nice_mock_control.h
  499. nl80211_attribute.cc
  500. nl80211_attribute.h
  501. nl80211_message.cc
  502. nl80211_message.h
  503. nss.cc
  504. nss.h
  505. nss_unittest.cc
  506. openvpn_driver.cc
  507. openvpn_driver.h
  508. openvpn_driver_unittest.cc
  509. openvpn_management_server.cc
  510. openvpn_management_server.h
  511. openvpn_management_server_unittest.cc
  512. portal_detector.cc
  513. portal_detector.h
  514. portal_detector_unittest.cc
  515. power_manager.cc
  516. power_manager.h
  517. power_manager_proxy.cc
  518. power_manager_proxy.h
  519. power_manager_proxy_interface.h
  520. power_manager_unittest.cc
  521. process_killer.cc
  522. process_killer.h
  523. process_killer_unittest.cc
  524. profile.cc
  525. profile.h
  526. profile_dbus_adaptor.cc
  527. profile_dbus_adaptor.h
  528. profile_dbus_property_exporter.cc
  529. profile_dbus_property_exporter.h
  530. profile_dbus_property_exporter_unittest.cc
  531. profile_unittest.cc
  532. property_accessor.h
  533. property_accessor_unittest.cc
  534. property_iterator.h
  535. property_store.cc
  536. property_store.h
  537. property_store_unittest.cc
  538. property_store_unittest.h
  539. provider_db_unittest.bfd
  540. proxy_factory.cc
  541. proxy_factory.h
  542. refptr_types.h
  543. resolver.cc
  544. resolver.h
  545. resolver_unittest.cc
  546. routing_table.cc
  547. routing_table.h
  548. routing_table_entry.h
  549. routing_table_unittest.cc
  550. rpc_task.cc
  551. rpc_task.h
  552. rpc_task_dbus_adaptor.cc
  553. rpc_task_dbus_adaptor.h
  554. rpc_task_unittest.cc
  555. rtnl_handler.cc
  556. rtnl_handler.h
  557. rtnl_handler_unittest.cc
  558. rtnl_listener.cc
  559. rtnl_listener.h
  560. rtnl_listener_unittest.cc
  561. rtnl_message.cc
  562. rtnl_message.h
  563. rtnl_message_unittest.cc
  564. scan_session.cc
  565. scan_session.h
  566. scan_session_unittest.cc
  567. scope_logger.cc
  568. scope_logger.h
  569. scope_logger_unittest.cc
  570. service.cc
  571. service.h
  572. service_dbus_adaptor.cc
  573. service_dbus_adaptor.h
  574. service_property_change_test.cc
  575. service_property_change_test.h
  576. service_sorter.h
  577. service_under_test.cc
  578. service_under_test.h
  579. service_unittest.cc
  580. shill_ares.cc
  581. shill_ares.h
  582. shill_config.cc
  583. shill_config.h
  584. shill_daemon.cc
  585. shill_daemon.h
  586. shill_main.cc
  587. shill_test_config.cc
  588. shill_test_config.h
  589. shill_time.cc
  590. shill_time.h
  591. shill_unittest.cc
  592. socket_info.cc
  593. socket_info.h
  594. socket_info_reader.cc
  595. socket_info_reader.h
  596. socket_info_reader_unittest.cc
  597. socket_info_unittest.cc
  598. sockets.cc
  599. sockets.h
  600. static_ip_parameters.cc
  601. static_ip_parameters.h
  602. static_ip_parameters_unittest.cc
  603. store_interface.h
  604. supplicant_bss_proxy.cc
  605. supplicant_bss_proxy.h
  606. supplicant_bss_proxy_interface.h
  607. supplicant_eap_state_handler.cc
  608. supplicant_eap_state_handler.h
  609. supplicant_eap_state_handler_unittest.cc
  610. supplicant_event_delegate_interface.h
  611. supplicant_interface_proxy.cc
  612. supplicant_interface_proxy.h
  613. supplicant_interface_proxy_interface.h
  614. supplicant_network_proxy.cc
  615. supplicant_network_proxy.h
  616. supplicant_network_proxy_interface.h
  617. supplicant_process_proxy.cc
  618. supplicant_process_proxy.h
  619. supplicant_process_proxy_interface.h
  620. technology.cc
  621. technology.h
  622. technology_unittest.cc
  623. TESTING
  624. testrunner.cc
  625. traffic_monitor.cc
  626. traffic_monitor.h
  627. traffic_monitor_unittest.cc
  628. virtio_ethernet.cc
  629. virtio_ethernet.h
  630. vpn.cc
  631. vpn.h
  632. vpn_driver.cc
  633. vpn_driver.h
  634. vpn_driver_unittest.cc
  635. vpn_provider.cc
  636. vpn_provider.h
  637. vpn_provider_unittest.cc
  638. vpn_service.cc
  639. vpn_service.h
  640. vpn_service_unittest.cc
  641. vpn_unittest.cc
  642. wifi.cc
  643. wifi.h
  644. wifi_endpoint.cc
  645. wifi_endpoint.h
  646. wifi_endpoint_unittest.cc
  647. wifi_provider.cc
  648. wifi_provider.h
  649. wifi_provider_unittest.cc
  650. wifi_service.cc
  651. wifi_service.h
  652. wifi_service_unittest.cc
  653. wifi_unittest.cc
  654. wimax.cc
  655. wimax.h
  656. wimax_device_proxy.cc
  657. wimax_device_proxy.h
  658. wimax_device_proxy_interface.h
  659. wimax_manager_proxy.cc
  660. wimax_manager_proxy.h
  661. wimax_manager_proxy_interface.h
  662. wimax_network_proxy.cc
  663. wimax_network_proxy.h
  664. wimax_network_proxy_interface.h
  665. wimax_provider.cc
  666. wimax_provider.h
  667. wimax_provider_unittest.cc
  668. wimax_service.cc
  669. wimax_service.h
  670. wimax_service_unittest.cc
  671. wimax_unittest.cc
  672. wpa_supplicant.cc
  673. wpa_supplicant.h
  674. wpa_supplicant_unittest.cc