shill: make setting a property to its current value a no-op

Before this change, setting the EAP authentication properties
on a WiFiService would cause the connection to be dropped.
The connection would drop even if the new values were the same
as the old.

With this change, the connection is only dropped if the new
values differ from the old.

Overview of changes:
- AccessorInterface: have property setters return a bool (rather
  than void). Setters should return true to indicate the value was
  changed, and false otherwise.
- PropertyAccessor and derived classes:
  - Implement the new AccessorInterface.
  - Add tests that we implement the new AccessorInterface.
- Custom property setters (various classes):
  - Update existing custom setters to return true if the value was
    changed, and false otherwise.
  - Add tests that custom setters implement the desired behavior.
- DBusAdaptor
  - Change SetProperty to propagate the return value of
    PropertyStore's setters, rather than Error::IsSuccess().
    - In combination with other changes, this means
      DBusAdaptor::SetProperty now returns false if the new value is
      the same as the old.
    - This also suppresses some spurious change notifications from
      IPConfig, Manager, and Profile objects.
  - Add tests that DBusAdaptor::SetProperty implements the desired
    behavior.
- PropertyStore
  - Add a change callback. This optional argument to the ctor is
    invoked if a setter or clearer modified its property. This
    is so that classes don't have to depend on their RPC adaptors
    to inform them of a change. (See changes in Service.)
  - Have setters pass through the return value of the Accessor,
    rather than returning Error::IsSuccess(). In
    combination with other changes, this means that setters
    now returns false if the new value is the same as the old.
  - Add tests that PropertyStore invokes the change callback
    appropriately.
    - ClearPropertyNonexistent, SetPropertyNonexistent: no callback
    - ClearProperty: callback
    - SetProperty: callback if and only if property changed
- Service
  - Register OnPropertyChanged with PropertyStore, instead of relying
    on a callback from ServiceDBusAdaptor. Two reasons for the change:
    1) The RPC adaptors should be as trivial as possible, and
    2) We can't test code in the RPC adaptors.
    3) If we can't test code in the RPC adaptors, go to 1.
- ServiceDBusAdaptor: remove OnPropertyChange callback in SetProperty.
  See Service for the rationale.
- Update existing SetProperty tests (various classes)
  We now use values that differ from the current value of the property.
  This ensures that the setter returns true.
- WiFiServiceTest: add a case to test that EAP authentication property
  changes caused cached credentials to be cleared appropriately. This is
  redundant given some of the other tests. But given that this was the
  original problem in the bug, it seems worth testing specifically.
- HACKING: add some guidelines for what to do when adding properties.

While there:
- Change some HelpRegister... functions to HelpRegisterConst...
- Update some tests to check error.is_set() before reading
  error.name(). This avoids a stray pointer dereference.
- Add SetStringmapsProperty to PropertyStore. This is needed because
  PropertyStoreTypedTest now tests setters.
- Remove duplicate kAutoConnectProperty test case in ServiceTest.SetProperty
- Remove unused local in WiFiServiceTest.SetPassphraseRemovedCachedCredentials
- Remove unused method Device::HelpRegisterDerivedStrings
- Remove KeyValueStore from the set of types exercised by
  PropertyStoreTypedTest. We only use KeyValueStore for const
  properties, and PropertyStoreTypedTest tests setting and
  clearing.
- Add PropertyChanges test to EthernetEapServiceTest.
BUG=chromium:233681
TEST=new unit tests

Change-Id: I9bdd89fbe6f19101dfcd5f126f2ba9c81533ff97
Reviewed-on: https://gerrit.chromium.org/gerrit/49733
Commit-Queue: mukesh agrawal <quiche@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
61 files changed
tree: eef91daabca7b44fe7184790de6e131aec5a2a14
  1. bin/
  2. data/
  3. dbus_bindings/
  4. doc/
  5. shims/
  6. test-scripts/
  7. .gitignore
  8. accessor_interface.h
  9. adaptor_interfaces.h
  10. arp_client.cc
  11. arp_client.h
  12. arp_client_unittest.cc
  13. arp_packet.cc
  14. arp_packet.h
  15. arp_packet_unittest.cc
  16. async_connection.cc
  17. async_connection.h
  18. async_connection_unittest.cc
  19. attribute_list.cc
  20. attribute_list.h
  21. byte_string.cc
  22. byte_string.h
  23. byte_string_unittest.cc
  24. callback80211_metrics.cc
  25. callback80211_metrics.h
  26. callbacks.h
  27. cellular.cc
  28. cellular.h
  29. cellular_capability.cc
  30. cellular_capability.h
  31. cellular_capability_cdma.cc
  32. cellular_capability_cdma.h
  33. cellular_capability_cdma_unittest.cc
  34. cellular_capability_classic.cc
  35. cellular_capability_classic.h
  36. cellular_capability_classic_unittest.cc
  37. cellular_capability_gsm.cc
  38. cellular_capability_gsm.h
  39. cellular_capability_gsm_unittest.cc
  40. cellular_capability_universal.cc
  41. cellular_capability_universal.h
  42. cellular_capability_universal_cdma.cc
  43. cellular_capability_universal_cdma.h
  44. cellular_capability_universal_cdma_unittest.cc
  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_adaptors.cc
  260. mock_adaptors.h
  261. mock_ares.cc
  262. mock_ares.h
  263. mock_arp_client.cc
  264. mock_arp_client.h
  265. mock_async_connection.cc
  266. mock_async_connection.h
  267. mock_cellular.cc
  268. mock_cellular.h
  269. mock_cellular_operator_info.cc
  270. mock_cellular_operator_info.h
  271. mock_cellular_service.cc
  272. mock_cellular_service.h
  273. mock_certificate_file.cc
  274. mock_certificate_file.h
  275. mock_connection.cc
  276. mock_connection.h
  277. mock_connection_health_checker.cc
  278. mock_connection_health_checker.h
  279. mock_connection_info_reader.cc
  280. mock_connection_info_reader.h
  281. mock_control.cc
  282. mock_control.h
  283. mock_crypto_util_proxy.h
  284. mock_dbus_manager.cc
  285. mock_dbus_manager.h
  286. mock_dbus_objectmanager_proxy.cc
  287. mock_dbus_objectmanager_proxy.h
  288. mock_dbus_properties_proxy.cc
  289. mock_dbus_properties_proxy.h
  290. mock_dbus_service_proxy.cc
  291. mock_dbus_service_proxy.h
  292. mock_device.cc
  293. mock_device.h
  294. mock_device_info.cc
  295. mock_device_info.h
  296. mock_dhcp_config.cc
  297. mock_dhcp_config.h
  298. mock_dhcp_provider.cc
  299. mock_dhcp_provider.h
  300. mock_dhcp_proxy.cc
  301. mock_dhcp_proxy.h
  302. mock_diagnostics_reporter.cc
  303. mock_diagnostics_reporter.h
  304. mock_dns_client.cc
  305. mock_dns_client.h
  306. mock_dns_client_factory.cc
  307. mock_dns_client_factory.h
  308. mock_eap_credentials.cc
  309. mock_eap_credentials.h
  310. mock_eap_listener.cc
  311. mock_eap_listener.h
  312. mock_ethernet.cc
  313. mock_ethernet.h
  314. mock_ethernet_eap_provider.cc
  315. mock_ethernet_eap_provider.h
  316. mock_ethernet_service.cc
  317. mock_ethernet_service.h
  318. mock_event_dispatcher.cc
  319. mock_event_dispatcher.h
  320. mock_file_io.h
  321. mock_glib.cc
  322. mock_glib.h
  323. mock_http_request.cc
  324. mock_http_request.h
  325. mock_ip_address_store.cc
  326. mock_ip_address_store.h
  327. mock_ipconfig.cc
  328. mock_ipconfig.h
  329. mock_link_monitor.cc
  330. mock_link_monitor.h
  331. mock_log.cc
  332. mock_log.h
  333. mock_log_unittest.cc
  334. mock_manager.cc
  335. mock_manager.h
  336. mock_metrics.cc
  337. mock_metrics.h
  338. mock_minijail.cc
  339. mock_minijail.h
  340. mock_mm1_bearer_proxy.cc
  341. mock_mm1_bearer_proxy.h
  342. mock_mm1_modem_location_proxy.cc
  343. mock_mm1_modem_location_proxy.h
  344. mock_mm1_modem_modem3gpp_proxy.cc
  345. mock_mm1_modem_modem3gpp_proxy.h
  346. mock_mm1_modem_modemcdma_proxy.cc
  347. mock_mm1_modem_modemcdma_proxy.h
  348. mock_mm1_modem_proxy.cc
  349. mock_mm1_modem_proxy.h
  350. mock_mm1_modem_simple_proxy.cc
  351. mock_mm1_modem_simple_proxy.h
  352. mock_mm1_modem_time_proxy.cc
  353. mock_mm1_modem_time_proxy.h
  354. mock_mm1_sim_proxy.cc
  355. mock_mm1_sim_proxy.h
  356. mock_modem.cc
  357. mock_modem.h
  358. mock_modem_cdma_proxy.cc
  359. mock_modem_cdma_proxy.h
  360. mock_modem_gobi_proxy.cc
  361. mock_modem_gobi_proxy.h
  362. mock_modem_gsm_card_proxy.cc
  363. mock_modem_gsm_card_proxy.h
  364. mock_modem_gsm_network_proxy.cc
  365. mock_modem_gsm_network_proxy.h
  366. mock_modem_info.cc
  367. mock_modem_info.h
  368. mock_modem_manager_proxy.cc
  369. mock_modem_manager_proxy.h
  370. mock_modem_proxy.cc
  371. mock_modem_proxy.h
  372. mock_modem_simple_proxy.cc
  373. mock_modem_simple_proxy.h
  374. mock_netlink_manager.h
  375. mock_netlink_socket.h
  376. mock_nss.cc
  377. mock_nss.h
  378. mock_openvpn_driver.cc
  379. mock_openvpn_driver.h
  380. mock_openvpn_management_server.cc
  381. mock_openvpn_management_server.h
  382. mock_pending_activation_store.cc
  383. mock_pending_activation_store.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. pending_activation_store.cc
  513. pending_activation_store.h
  514. pending_activation_store_unittest.cc
  515. portal_detector.cc
  516. portal_detector.h
  517. portal_detector_unittest.cc
  518. power_manager.cc
  519. power_manager.h
  520. power_manager_proxy.cc
  521. power_manager_proxy.h
  522. power_manager_proxy_interface.h
  523. power_manager_unittest.cc
  524. process_killer.cc
  525. process_killer.h
  526. process_killer_unittest.cc
  527. profile.cc
  528. profile.h
  529. profile_dbus_adaptor.cc
  530. profile_dbus_adaptor.h
  531. profile_dbus_property_exporter.cc
  532. profile_dbus_property_exporter.h
  533. profile_dbus_property_exporter_unittest.cc
  534. profile_unittest.cc
  535. property_accessor.h
  536. property_accessor_unittest.cc
  537. property_iterator.h
  538. property_store.cc
  539. property_store.h
  540. property_store_unittest.cc
  541. property_store_unittest.h
  542. provider_db_unittest.bfd
  543. proxy_factory.cc
  544. proxy_factory.h
  545. refptr_types.h
  546. resolver.cc
  547. resolver.h
  548. resolver_unittest.cc
  549. routing_table.cc
  550. routing_table.h
  551. routing_table_entry.h
  552. routing_table_unittest.cc
  553. rpc_task.cc
  554. rpc_task.h
  555. rpc_task_dbus_adaptor.cc
  556. rpc_task_dbus_adaptor.h
  557. rpc_task_unittest.cc
  558. rtnl_handler.cc
  559. rtnl_handler.h
  560. rtnl_handler_unittest.cc
  561. rtnl_listener.cc
  562. rtnl_listener.h
  563. rtnl_listener_unittest.cc
  564. rtnl_message.cc
  565. rtnl_message.h
  566. rtnl_message_unittest.cc
  567. scan_session.cc
  568. scan_session.h
  569. scan_session_unittest.cc
  570. scope_logger.cc
  571. scope_logger.h
  572. scope_logger_unittest.cc
  573. service.cc
  574. service.h
  575. service_dbus_adaptor.cc
  576. service_dbus_adaptor.h
  577. service_property_change_test.cc
  578. service_property_change_test.h
  579. service_sorter.h
  580. service_under_test.cc
  581. service_under_test.h
  582. service_unittest.cc
  583. shill_ares.cc
  584. shill_ares.h
  585. shill_config.cc
  586. shill_config.h
  587. shill_daemon.cc
  588. shill_daemon.h
  589. shill_main.cc
  590. shill_test_config.cc
  591. shill_test_config.h
  592. shill_time.cc
  593. shill_time.h
  594. shill_unittest.cc
  595. socket_info.cc
  596. socket_info.h
  597. socket_info_reader.cc
  598. socket_info_reader.h
  599. socket_info_reader_unittest.cc
  600. socket_info_unittest.cc
  601. sockets.cc
  602. sockets.h
  603. static_ip_parameters.cc
  604. static_ip_parameters.h
  605. static_ip_parameters_unittest.cc
  606. store_interface.h
  607. supplicant_bss_proxy.cc
  608. supplicant_bss_proxy.h
  609. supplicant_bss_proxy_interface.h
  610. supplicant_eap_state_handler.cc
  611. supplicant_eap_state_handler.h
  612. supplicant_eap_state_handler_unittest.cc
  613. supplicant_event_delegate_interface.h
  614. supplicant_interface_proxy.cc
  615. supplicant_interface_proxy.h
  616. supplicant_interface_proxy_interface.h
  617. supplicant_network_proxy.cc
  618. supplicant_network_proxy.h
  619. supplicant_network_proxy_interface.h
  620. supplicant_process_proxy.cc
  621. supplicant_process_proxy.h
  622. supplicant_process_proxy_interface.h
  623. technology.cc
  624. technology.h
  625. technology_unittest.cc
  626. TESTING
  627. testrunner.cc
  628. traffic_monitor.cc
  629. traffic_monitor.h
  630. traffic_monitor_unittest.cc
  631. virtio_ethernet.cc
  632. virtio_ethernet.h
  633. vpn.cc
  634. vpn.h
  635. vpn_driver.cc
  636. vpn_driver.h
  637. vpn_driver_unittest.cc
  638. vpn_provider.cc
  639. vpn_provider.h
  640. vpn_provider_unittest.cc
  641. vpn_service.cc
  642. vpn_service.h
  643. vpn_service_unittest.cc
  644. vpn_unittest.cc
  645. wifi.cc
  646. wifi.h
  647. wifi_endpoint.cc
  648. wifi_endpoint.h
  649. wifi_endpoint_unittest.cc
  650. wifi_provider.cc
  651. wifi_provider.h
  652. wifi_provider_unittest.cc
  653. wifi_service.cc
  654. wifi_service.h
  655. wifi_service_unittest.cc
  656. wifi_unittest.cc
  657. wimax.cc
  658. wimax.h
  659. wimax_device_proxy.cc
  660. wimax_device_proxy.h
  661. wimax_device_proxy_interface.h
  662. wimax_manager_proxy.cc
  663. wimax_manager_proxy.h
  664. wimax_manager_proxy_interface.h
  665. wimax_network_proxy.cc
  666. wimax_network_proxy.h
  667. wimax_network_proxy_interface.h
  668. wimax_provider.cc
  669. wimax_provider.h
  670. wimax_provider_unittest.cc
  671. wimax_service.cc
  672. wimax_service.h
  673. wimax_service_unittest.cc
  674. wimax_unittest.cc
  675. wpa_supplicant.cc
  676. wpa_supplicant.h
  677. wpa_supplicant_unittest.cc