shill: JsonStore: fill in Open() functionality

Add the ability to parse settings out of a serialized
JsonStore, and some tests that exercise this new code.

This CL makes assumptions about how the data is
serialized. Those assumptions will be tested later,
after we add the serialization code.

BUG=b:22958135
TEST=unit tests

Change-Id: Ie7df8cb48f745b90ee6ee656ebf0c60f02e14b02
Reviewed-on: https://chromium-review.googlesource.com/293590
Tested-by: mukesh agrawal <quiche@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: mukesh agrawal <quiche@chromium.org>
Trybot-Ready: mukesh agrawal <quiche@chromium.org>
2 files changed
tree: eb6d52b6bd8e058e3b8cec8aec1233125e639c74
  1. bin/
  2. cellular/
  3. dbus/
  4. dbus_bindings/
  5. dhcp/
  6. doc/
  7. ethernet/
  8. init/
  9. mobile_operator_db/
  10. net/
  11. pppoe/
  12. setup_wifi/
  13. shims/
  14. supplicant/
  15. test-scripts/
  16. udev/
  17. upstart/
  18. vpn/
  19. wifi/
  20. wimax/
  21. .gitignore
  22. accessor_interface.h
  23. active_link_monitor.cc
  24. active_link_monitor.h
  25. active_link_monitor_unittest.cc
  26. adaptor_interfaces.h
  27. arp_client.cc
  28. arp_client.h
  29. arp_client_test_helper.cc
  30. arp_client_test_helper.h
  31. arp_client_unittest.cc
  32. arp_packet.cc
  33. arp_packet.h
  34. arp_packet_unittest.cc
  35. async_connection.cc
  36. async_connection.h
  37. async_connection_unittest.cc
  38. callbacks.h
  39. certificate_file.cc
  40. certificate_file.h
  41. certificate_file_unittest.cc
  42. chromeos_daemon.cc
  43. chromeos_daemon.h
  44. chromeos_daemon_unittest.cc
  45. connection.cc
  46. connection.h
  47. connection_diagnostics.cc
  48. connection_diagnostics.h
  49. connection_diagnostics_unittest.cc
  50. connection_health_checker.cc
  51. connection_health_checker.h
  52. connection_health_checker_unittest.cc
  53. connection_info.cc
  54. connection_info.h
  55. connection_info_reader.cc
  56. connection_info_reader.h
  57. connection_info_reader_unittest.cc
  58. connection_info_unittest.cc
  59. connection_tester.cc
  60. connection_tester.h
  61. connection_tester_unittest.cc
  62. connection_unittest.cc
  63. connectivity_trial.cc
  64. connectivity_trial.h
  65. connectivity_trial_unittest.cc
  66. control_interface.h
  67. crypto_des_cbc.cc
  68. crypto_des_cbc.h
  69. crypto_des_cbc_unittest.cc
  70. crypto_interface.h
  71. crypto_provider.cc
  72. crypto_provider.h
  73. crypto_provider_unittest.cc
  74. crypto_rot47.cc
  75. crypto_rot47.h
  76. crypto_rot47_unittest.cc
  77. crypto_util_proxy.cc
  78. crypto_util_proxy.h
  79. crypto_util_proxy_unittest.cc
  80. dbus_adaptor.cc
  81. dbus_adaptor.h
  82. dbus_adaptor_unittest.cc
  83. dbus_async_call_helper.h
  84. dbus_control.cc
  85. dbus_control.h
  86. dbus_manager.cc
  87. dbus_manager.h
  88. dbus_manager_unittest.cc
  89. dbus_name_watcher.cc
  90. dbus_name_watcher.h
  91. dbus_name_watcher_unittest.cc
  92. dbus_properties.cc
  93. dbus_properties.h
  94. dbus_properties_proxy.cc
  95. dbus_properties_proxy.h
  96. dbus_properties_proxy_interface.h
  97. dbus_properties_unittest.cc
  98. dbus_property_matchers.h
  99. dbus_service_proxy.cc
  100. dbus_service_proxy.h
  101. dbus_service_proxy_interface.h
  102. dbus_variant_gmock_printer.cc
  103. dbus_variant_gmock_printer.h
  104. default_profile.cc
  105. default_profile.h
  106. default_profile_unittest.cc
  107. device.cc
  108. device.h
  109. device_claimer.cc
  110. device_claimer.h
  111. device_claimer_unittest.cc
  112. device_dbus_adaptor.cc
  113. device_dbus_adaptor.h
  114. device_info.cc
  115. device_info.h
  116. device_info_unittest.cc
  117. device_stub.h
  118. device_unittest.cc
  119. diagnostics_reporter.cc
  120. diagnostics_reporter.h
  121. diagnostics_reporter_unittest.cc
  122. dns_client.cc
  123. dns_client.h
  124. dns_client_factory.cc
  125. dns_client_factory.h
  126. dns_client_unittest.cc
  127. dns_server_tester.cc
  128. dns_server_tester.h
  129. dns_server_tester_unittest.cc
  130. eap_credentials.cc
  131. eap_credentials.h
  132. eap_credentials_unittest.cc
  133. eap_listener.cc
  134. eap_listener.h
  135. eap_listener_unittest.cc
  136. eap_protocol.h
  137. ephemeral_profile.cc
  138. ephemeral_profile.h
  139. error.cc
  140. error.h
  141. error_unittest.cc
  142. event_dispatcher.cc
  143. event_dispatcher.h
  144. external_task.cc
  145. external_task.h
  146. external_task_unittest.cc
  147. file_io.cc
  148. file_io.h
  149. file_reader.cc
  150. file_reader.h
  151. file_reader_unittest.cc
  152. geolocation_info.cc
  153. geolocation_info.h
  154. glib.cc
  155. glib.h
  156. glib_io_handler_factory.cc
  157. glib_io_handler_factory.h
  158. glib_io_input_handler.cc
  159. glib_io_input_handler.h
  160. glib_io_ready_handler.cc
  161. glib_io_ready_handler.h
  162. HACKING
  163. hook_table.cc
  164. hook_table.h
  165. hook_table_unittest.cc
  166. http_proxy.cc
  167. http_proxy.h
  168. http_proxy_unittest.cc
  169. http_request.cc
  170. http_request.h
  171. http_request_unittest.cc
  172. http_url.cc
  173. http_url.h
  174. http_url_unittest.cc
  175. icmp.cc
  176. icmp.h
  177. icmp_session.cc
  178. icmp_session.h
  179. icmp_session_factory.cc
  180. icmp_session_factory.h
  181. icmp_session_unittest.cc
  182. icmp_unittest.cc
  183. ip_address_store.cc
  184. ip_address_store.h
  185. ip_address_store_unittest.cc
  186. ipconfig.cc
  187. ipconfig.h
  188. ipconfig_dbus_adaptor.cc
  189. ipconfig_dbus_adaptor.h
  190. ipconfig_unittest.cc
  191. json_store.cc
  192. json_store.h
  193. json_store_unittest.cc
  194. key_file_store.cc
  195. key_file_store.h
  196. key_file_store_unittest.cc
  197. key_value_store.cc
  198. key_value_store.h
  199. key_value_store_unittest.cc
  200. link_monitor.cc
  201. link_monitor.h
  202. link_monitor_unittest.cc
  203. logging.cc
  204. logging.h
  205. manager.cc
  206. manager.h
  207. manager_dbus_adaptor.cc
  208. manager_dbus_adaptor.h
  209. manager_unittest.cc
  210. metrics.cc
  211. metrics.h
  212. metrics_unittest.cc
  213. mock_active_link_monitor.cc
  214. mock_active_link_monitor.h
  215. mock_adaptors.cc
  216. mock_adaptors.h
  217. mock_ares.cc
  218. mock_ares.h
  219. mock_arp_client.cc
  220. mock_arp_client.h
  221. mock_async_connection.cc
  222. mock_async_connection.h
  223. mock_certificate_file.cc
  224. mock_certificate_file.h
  225. mock_connection.cc
  226. mock_connection.h
  227. mock_connection_health_checker.cc
  228. mock_connection_health_checker.h
  229. mock_connection_info_reader.cc
  230. mock_connection_info_reader.h
  231. mock_connectivity_trial.cc
  232. mock_connectivity_trial.h
  233. mock_control.cc
  234. mock_control.h
  235. mock_crypto_util_proxy.cc
  236. mock_crypto_util_proxy.h
  237. mock_dbus_manager.cc
  238. mock_dbus_manager.h
  239. mock_dbus_properties_proxy.cc
  240. mock_dbus_properties_proxy.h
  241. mock_dbus_service_proxy.cc
  242. mock_dbus_service_proxy.h
  243. mock_device.cc
  244. mock_device.h
  245. mock_device_claimer.cc
  246. mock_device_claimer.h
  247. mock_device_info.cc
  248. mock_device_info.h
  249. mock_diagnostics_reporter.cc
  250. mock_diagnostics_reporter.h
  251. mock_dns_client.cc
  252. mock_dns_client.h
  253. mock_dns_client_factory.cc
  254. mock_dns_client_factory.h
  255. mock_dns_server_tester.cc
  256. mock_dns_server_tester.h
  257. mock_eap_credentials.cc
  258. mock_eap_credentials.h
  259. mock_eap_listener.cc
  260. mock_eap_listener.h
  261. mock_event_dispatcher.cc
  262. mock_event_dispatcher.h
  263. mock_external_task.cc
  264. mock_external_task.h
  265. mock_file_io.h
  266. mock_glib.cc
  267. mock_glib.h
  268. mock_http_request.cc
  269. mock_http_request.h
  270. mock_icmp.cc
  271. mock_icmp.h
  272. mock_icmp_session.cc
  273. mock_icmp_session.h
  274. mock_icmp_session_factory.cc
  275. mock_icmp_session_factory.h
  276. mock_ip_address_store.cc
  277. mock_ip_address_store.h
  278. mock_ipconfig.cc
  279. mock_ipconfig.h
  280. mock_link_monitor.cc
  281. mock_link_monitor.h
  282. mock_log.cc
  283. mock_log.h
  284. mock_log_unittest.cc
  285. mock_manager.cc
  286. mock_manager.h
  287. mock_metrics.cc
  288. mock_metrics.h
  289. mock_passive_link_monitor.cc
  290. mock_passive_link_monitor.h
  291. mock_pending_activation_store.cc
  292. mock_pending_activation_store.h
  293. mock_permission_broker_proxy.h
  294. mock_portal_detector.cc
  295. mock_portal_detector.h
  296. mock_power_manager.cc
  297. mock_power_manager.h
  298. mock_power_manager_proxy.cc
  299. mock_power_manager_proxy.h
  300. mock_ppp_device.cc
  301. mock_ppp_device.h
  302. mock_ppp_device_factory.cc
  303. mock_ppp_device_factory.h
  304. mock_process_killer.cc
  305. mock_process_killer.h
  306. mock_process_manager.cc
  307. mock_process_manager.h
  308. mock_profile.cc
  309. mock_profile.h
  310. mock_property_store.cc
  311. mock_property_store.h
  312. mock_resolver.cc
  313. mock_resolver.h
  314. mock_routing_table.cc
  315. mock_routing_table.h
  316. mock_service.cc
  317. mock_service.h
  318. mock_socket_info_reader.cc
  319. mock_socket_info_reader.h
  320. mock_store.cc
  321. mock_store.h
  322. mock_traffic_monitor.cc
  323. mock_traffic_monitor.h
  324. mock_virtual_device.cc
  325. mock_virtual_device.h
  326. NETLINK_MESSAGES.txt
  327. nice_mock_control.cc
  328. nice_mock_control.h
  329. OWNERS
  330. passive_link_monitor.cc
  331. passive_link_monitor.h
  332. passive_link_monitor_unittest.cc
  333. pending_activation_store.cc
  334. pending_activation_store.h
  335. pending_activation_store_unittest.cc
  336. permission_broker_proxy.cc
  337. permission_broker_proxy.h
  338. permission_broker_proxy_interface.h
  339. portal_detector.cc
  340. portal_detector.h
  341. portal_detector_unittest.cc
  342. power_manager.cc
  343. power_manager.h
  344. power_manager_proxy.cc
  345. power_manager_proxy.h
  346. power_manager_proxy_interface.h
  347. power_manager_unittest.cc
  348. ppp_daemon.cc
  349. ppp_daemon.h
  350. ppp_daemon_unittest.cc
  351. ppp_device.cc
  352. ppp_device.h
  353. ppp_device_factory.cc
  354. ppp_device_factory.h
  355. ppp_device_unittest.cc
  356. process_killer.cc
  357. process_killer.h
  358. process_killer_unittest.cc
  359. process_manager.cc
  360. process_manager.h
  361. process_manager_unittest.cc
  362. profile.cc
  363. profile.h
  364. profile_dbus_adaptor.cc
  365. profile_dbus_adaptor.h
  366. profile_unittest.cc
  367. property_accessor.h
  368. property_accessor_unittest.cc
  369. property_iterator.h
  370. property_observer.h
  371. property_observer_interface.h
  372. property_observer_unittest.cc
  373. property_store.cc
  374. property_store.h
  375. property_store_unittest.cc
  376. property_store_unittest.h
  377. protobuf_lite_streams.cc
  378. protobuf_lite_streams.h
  379. provider_db_unittest.bfd
  380. provider_interface.h
  381. refptr_types.h
  382. resolver.cc
  383. resolver.h
  384. resolver_unittest.cc
  385. result_aggregator.cc
  386. result_aggregator.h
  387. result_aggregator_unittest.cc
  388. routing_table.cc
  389. routing_table.h
  390. routing_table_entry.h
  391. routing_table_unittest.cc
  392. rpc_service_watcher_interface.h
  393. rpc_task.cc
  394. rpc_task.h
  395. rpc_task_dbus_adaptor.cc
  396. rpc_task_dbus_adaptor.h
  397. rpc_task_unittest.cc
  398. scope_logger.cc
  399. scope_logger.h
  400. scope_logger_unittest.cc
  401. scoped_umask.cc
  402. scoped_umask.h
  403. service.cc
  404. service.h
  405. service_dbus_adaptor.cc
  406. service_dbus_adaptor.h
  407. service_property_change_notifier.cc
  408. service_property_change_notifier.h
  409. service_property_change_test.cc
  410. service_property_change_test.h
  411. service_sorter.h
  412. service_under_test.cc
  413. service_under_test.h
  414. service_unittest.cc
  415. shared_dbus_connection.cc
  416. shared_dbus_connection.h
  417. shill.gyp
  418. shill.gypi
  419. shill_ares.cc
  420. shill_ares.h
  421. shill_config.cc
  422. shill_config.h
  423. shill_daemon.cc
  424. shill_daemon.h
  425. shill_export.h
  426. shill_main.cc
  427. shill_test_config.cc
  428. shill_test_config.h
  429. shill_unittest.cc
  430. socket_info.cc
  431. socket_info.h
  432. socket_info_reader.cc
  433. socket_info_reader.h
  434. socket_info_reader_unittest.cc
  435. socket_info_unittest.cc
  436. static_ip_parameters.cc
  437. static_ip_parameters.h
  438. static_ip_parameters_unittest.cc
  439. store_interface.h
  440. stub_storage.h
  441. technology.cc
  442. technology.h
  443. technology_unittest.cc
  444. TESTING
  445. testing.h
  446. testrunner.cc
  447. tethering.cc
  448. tethering.h
  449. traffic_monitor.cc
  450. traffic_monitor.h
  451. traffic_monitor_unittest.cc
  452. virtual_device.cc
  453. virtual_device.h
  454. virtual_device_unittest.cc