AU: disable GPIOs in production; some structural changes

Since we are not making use of the GPIO funcionality in UE for the
moment, it's been advised that it should be disabled. This CL does just
that, plus a few small changes:

* Adds a "no-op" GPIO implementation, which simply returns a constant
  value every time it's being asked whether test-mode was signaled (in
  this case, we set it to return false).

* The GPIO handler is embedded in SystemState. This makes sense from
  both the conceptual and usability standpoint.  The SystemState object
  can be parametrized to initialize either a real or a no-op GPIO
  handler.

BUG=chromium-os:32263
TEST=passes unit tests; does not engage GPIO protocol on x86-alex

Change-Id: I8121647baa7611041073dcf305beddab57c0e49c
Reviewed-on: https://gerrit.chromium.org/gerrit/40633
Reviewed-by: Jay Srinivasan <jaysri@chromium.org>
Commit-Queue: Gilad Arnold <garnold@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
15 files changed
tree: a72b2d9702b27bdeb03ca6ed8b73c407db66199a
  1. .gitignore
  2. 99-gpio-dutflag.rules
  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. build
  13. bzip.cc
  14. bzip.h
  15. bzip_extent_writer.cc
  16. bzip_extent_writer.h
  17. bzip_extent_writer_unittest.cc
  18. certificate_checker.cc
  19. certificate_checker.h
  20. certificate_checker_mock.h
  21. certificate_checker_unittest.cc
  22. chrome_browser_proxy_resolver.cc
  23. chrome_browser_proxy_resolver.h
  24. chrome_browser_proxy_resolver_unittest.cc
  25. chrome_proxy_resolver.cc
  26. chrome_proxy_resolver.h
  27. chrome_proxy_resolver_unittest.cc
  28. connection_manager.cc
  29. connection_manager.h
  30. connection_manager_unittest.cc
  31. cycle_breaker.cc
  32. cycle_breaker.h
  33. cycle_breaker_unittest.cc
  34. dbus_constants.h
  35. dbus_interface.h
  36. dbus_service.cc
  37. dbus_service.h
  38. delta_diff_generator.cc
  39. delta_diff_generator.h
  40. delta_diff_generator_unittest.cc
  41. delta_performer.cc
  42. delta_performer.h
  43. delta_performer_unittest.cc
  44. download_action.cc
  45. download_action.h
  46. download_action_unittest.cc
  47. extent_mapper.cc
  48. extent_mapper.h
  49. extent_mapper_unittest.cc
  50. extent_ranges.cc
  51. extent_ranges.h
  52. extent_ranges_unittest.cc
  53. extent_writer.cc
  54. extent_writer.h
  55. extent_writer_unittest.cc
  56. file_descriptor.cc
  57. file_descriptor.h
  58. file_writer.cc
  59. file_writer.h
  60. file_writer_mock.h
  61. file_writer_unittest.cc
  62. filesystem_copier_action.cc
  63. filesystem_copier_action.h
  64. filesystem_copier_action_unittest.cc
  65. filesystem_iterator.cc
  66. filesystem_iterator.h
  67. filesystem_iterator_unittest.cc
  68. full_update_generator.cc
  69. full_update_generator.h
  70. full_update_generator_unittest.cc
  71. gen_coverage_html
  72. generate_delta_main.cc
  73. gpio_handler.cc
  74. gpio_handler.h
  75. gpio_handler_unittest.cc
  76. gpio_handler_unittest.h
  77. gpio_mock_file_descriptor.cc
  78. gpio_mock_file_descriptor.h
  79. gpio_mock_udev_interface.cc
  80. gpio_mock_udev_interface.h
  81. graph_types.h
  82. graph_utils.cc
  83. graph_utils.h
  84. graph_utils_unittest.cc
  85. http_common.cc
  86. http_common.h
  87. http_fetcher.cc
  88. http_fetcher.h
  89. http_fetcher_unittest.cc
  90. http_fetcher_unittest.h
  91. inherit-review-settings-ok
  92. install_plan.h
  93. integration_unittest.cc
  94. libcurl_http_fetcher.cc
  95. libcurl_http_fetcher.h
  96. LICENSE
  97. local_coverage_rate
  98. main.cc
  99. marshal.list
  100. metadata.cc
  101. metadata.h
  102. metadata_unittest.cc
  103. mock_connection_manager.h
  104. mock_dbus_interface.h
  105. mock_file_writer.h
  106. mock_gpio_handler.h
  107. mock_http_fetcher.cc
  108. mock_http_fetcher.h
  109. mock_payload_state.h
  110. mock_system_state.h
  111. multi_range_http_fetcher.cc
  112. multi_range_http_fetcher.h
  113. omaha_hash_calculator.cc
  114. omaha_hash_calculator.h
  115. omaha_hash_calculator_unittest.cc
  116. omaha_request_action.cc
  117. omaha_request_action.h
  118. omaha_request_action_unittest.cc
  119. omaha_request_params.cc
  120. omaha_request_params.h
  121. omaha_request_params_unittest.cc
  122. omaha_response.h
  123. omaha_response_handler_action.cc
  124. omaha_response_handler_action.h
  125. omaha_response_handler_action_unittest.cc
  126. org.chromium.UpdateEngine.service
  127. payload_signer.cc
  128. payload_signer.h
  129. payload_signer_unittest.cc
  130. payload_state.cc
  131. payload_state.h
  132. payload_state_interface.h
  133. payload_state_unittest.cc
  134. postinstall_runner_action.cc
  135. postinstall_runner_action.h
  136. postinstall_runner_action_unittest.cc
  137. prefs.cc
  138. prefs.h
  139. prefs_interface.h
  140. prefs_mock.h
  141. prefs_unittest.cc
  142. proxy_resolver.cc
  143. proxy_resolver.h
  144. run_unittests
  145. sample_omaha_v3_response.xml
  146. SConstruct
  147. setup_dev_packages
  148. simple_key_value_store.cc
  149. simple_key_value_store.h
  150. simple_key_value_store_unittest.cc
  151. subprocess.cc
  152. subprocess.h
  153. subprocess_unittest.cc
  154. system_state.cc
  155. system_state.h
  156. tarjan.cc
  157. tarjan.h
  158. tarjan_unittest.cc
  159. terminator.cc
  160. terminator.h
  161. terminator_unittest.cc
  162. test_http_server.cc
  163. test_utils.cc
  164. test_utils.h
  165. testrunner.cc
  166. topological_sort.cc
  167. topological_sort.h
  168. topological_sort_unittest.cc
  169. udev_interface.h
  170. unittest_key.pem
  171. unittest_key2.pem
  172. update_attempter.cc
  173. update_attempter.h
  174. update_attempter_mock.h
  175. update_attempter_unittest.cc
  176. update_check_scheduler.cc
  177. update_check_scheduler.h
  178. update_check_scheduler_unittest.cc
  179. update_engine.xml
  180. update_engine_client.cc
  181. update_metadata.proto
  182. UpdateEngine.conf
  183. utils.cc
  184. utils.h
  185. utils_unittest.cc
  186. WATCHLISTS
  187. zip_unittest.cc