AU: Start checkpointing update progress.

Checkpoint the manifest metadata size and the update
check response hash in the preference store. Also checkpoint
the next operation and data offset.
Add methods for getting/setting hash context.

BUG=7390,7394
TEST=unit tests

Change-Id: I25291bf598ac9b0f1033e11cfe59df45b1f6eeab

Review URL: http://codereview.chromium.org/3521016
17 files changed
tree: 3f7097af403300329b1e3048b1faf2b39282b43d
  1. certs/
  2. .gitignore
  3. action.h
  4. action_mock.h
  5. action_pipe.h
  6. action_pipe_unittest.cc
  7. action_processor.cc
  8. action_processor.h
  9. action_processor_mock.h
  10. action_processor_unittest.cc
  11. action_unittest.cc
  12. buffered_file_writer.cc
  13. buffered_file_writer.h
  14. buffered_file_writer_unittest.cc
  15. bzip.cc
  16. bzip.h
  17. bzip_extent_writer.cc
  18. bzip_extent_writer.h
  19. bzip_extent_writer_unittest.cc
  20. cycle_breaker.cc
  21. cycle_breaker.h
  22. cycle_breaker_unittest.cc
  23. dbus_constants.h
  24. dbus_service.cc
  25. dbus_service.h
  26. decompressing_file_writer.cc
  27. decompressing_file_writer.h
  28. decompressing_file_writer_unittest.cc
  29. delta_diff_generator.cc
  30. delta_diff_generator.h
  31. delta_diff_generator_unittest.cc
  32. delta_performer.cc
  33. delta_performer.h
  34. delta_performer_unittest.cc
  35. download_action.cc
  36. download_action.h
  37. download_action_unittest.cc
  38. extent_mapper.cc
  39. extent_mapper.h
  40. extent_mapper_unittest.cc
  41. extent_ranges.cc
  42. extent_ranges.h
  43. extent_ranges_unittest.cc
  44. extent_writer.cc
  45. extent_writer.h
  46. extent_writer_unittest.cc
  47. file_writer.cc
  48. file_writer.h
  49. file_writer_mock.h
  50. file_writer_unittest.cc
  51. filesystem_copier_action.cc
  52. filesystem_copier_action.h
  53. filesystem_copier_action_unittest.cc
  54. filesystem_iterator.cc
  55. filesystem_iterator.h
  56. filesystem_iterator_unittest.cc
  57. gen_coverage_html.sh
  58. generate_delta_main.cc
  59. graph_types.h
  60. graph_utils.cc
  61. graph_utils.h
  62. graph_utils_unittest.cc
  63. gzip.cc
  64. gzip.h
  65. http_fetcher.h
  66. http_fetcher_unittest.cc
  67. inherit-review-settings-ok
  68. install_plan.h
  69. integration_unittest.cc
  70. libcurl_http_fetcher.cc
  71. libcurl_http_fetcher.h
  72. LICENSE
  73. local_coverage_rate.sh
  74. main.cc
  75. marshal.list
  76. mock_file_writer.h
  77. mock_http_fetcher.cc
  78. mock_http_fetcher.h
  79. omaha_hash_calculator.cc
  80. omaha_hash_calculator.h
  81. omaha_hash_calculator_unittest.cc
  82. omaha_request_action.cc
  83. omaha_request_action.h
  84. omaha_request_action_unittest.cc
  85. omaha_request_params.cc
  86. omaha_request_params.h
  87. omaha_request_params_unittest.cc
  88. omaha_response_handler_action.cc
  89. omaha_response_handler_action.h
  90. omaha_response_handler_action_unittest.cc
  91. org.chromium.UpdateEngine.service
  92. payload_signer.cc
  93. payload_signer.h
  94. payload_signer_unittest.cc
  95. postinstall_runner_action.cc
  96. postinstall_runner_action.h
  97. postinstall_runner_action_unittest.cc
  98. prefs.cc
  99. prefs.h
  100. prefs_interface.h
  101. prefs_mock.h
  102. prefs_unittest.cc
  103. SConstruct
  104. set_bootable_flag_action.cc
  105. set_bootable_flag_action.h
  106. set_bootable_flag_action_unittest.cc
  107. setup_dev_packages
  108. simple_key_value_store.cc
  109. simple_key_value_store.h
  110. simple_key_value_store_unittest.cc
  111. split_file_writer.cc
  112. split_file_writer.h
  113. split_file_writer_unittest.cc
  114. subprocess.cc
  115. subprocess.h
  116. subprocess_unittest.cc
  117. tarjan.cc
  118. tarjan.h
  119. tarjan_unittest.cc
  120. test_http_server.cc
  121. test_http_server.py
  122. test_utils.cc
  123. test_utils.h
  124. testrunner.cc
  125. topological_sort.cc
  126. topological_sort.h
  127. topological_sort_unittest.cc
  128. unittest_key.pem
  129. update_attempter.cc
  130. update_attempter.h
  131. update_attempter_mock.h
  132. update_attempter_unittest.cc
  133. update_check_scheduler.cc
  134. update_check_scheduler.h
  135. update_check_scheduler_unittest.cc
  136. update_engine.xml
  137. update_engine_client.cc
  138. update_metadata.proto
  139. UpdateEngine.conf
  140. utils.cc
  141. utils.h
  142. utils_unittest.cc
  143. WATCHLISTS
  144. zip_unittest.cc