Implement DBus introspection

session_manager can just read the XML file that describes its
interface off disk and return it in response to introspection calls
at runtime.

We generally don't use introspection on CrOS, so it's OK if this
is inefficient.

CQ-DEPEND=CL:188802
BUG=chromium:347618
TEST=suite:smoke
STATUS=Fixed

Change-Id: Ie786f3d61bd42eeabe89f23f1b7e45c58b78fd6a
Reviewed-on: https://chromium-review.googlesource.com/188813
Reviewed-by: Scott James Remnant <keybuk@chromium.org>
Commit-Queue: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
2 files changed
tree: 86af09b17cf752762822c599b72cc3a5ad7d73f9
  1. browser_job.cc
  2. browser_job.h
  3. browser_job_unittest.cc
  4. child_exit_handler.cc
  5. child_exit_handler.h
  6. child_exit_handler_unittest.cc
  7. child_job.cc
  8. child_job.h
  9. common.mk
  10. cros-xauth.c
  11. dbus_error_types.h
  12. dbus_signal_emitter.cc
  13. dbus_signal_emitter.h
  14. default_proxy
  15. device_local_account_policy_service.cc
  16. device_local_account_policy_service.h
  17. device_local_account_policy_service_unittest.cc
  18. device_policy_service.cc
  19. device_policy_service.h
  20. device_policy_service_unittest.cc
  21. fake_browser_job.cc
  22. fake_browser_job.h
  23. fake_child_process.cc
  24. fake_child_process.h
  25. fake_generated_key_handler.cc
  26. fake_generated_key_handler.h
  27. fake_generator_job.cc
  28. fake_generator_job.h
  29. fake_job_manager.h
  30. file_checker.cc
  31. file_checker.h
  32. generator_job.cc
  33. generator_job.h
  34. inherit-review-settings-ok
  35. job_manager.h
  36. key_generator.cc
  37. key_generator.h
  38. key_generator_unittest.cc
  39. keygen.cc
  40. keygen_worker.cc
  41. keygen_worker.h
  42. LICENSE
  43. liveness_checker.h
  44. liveness_checker_impl.cc
  45. liveness_checker_impl.h
  46. liveness_checker_impl_unittest.cc
  47. login.conf
  48. login_metrics.cc
  49. login_metrics.h
  50. login_metrics_unittest.cc
  51. logout.conf
  52. machine-info.conf
  53. Makefile
  54. matchers.h
  55. mock_constructors.cc
  56. mock_dbus_signal_emitter.h
  57. mock_device_policy_service.h
  58. mock_file_checker.h
  59. mock_key_generator.h
  60. mock_liveness_checker.h
  61. mock_metrics.h
  62. mock_mitigator.h
  63. mock_nss_util.cc
  64. mock_nss_util.h
  65. mock_object_proxy.h
  66. mock_policy_key.h
  67. mock_policy_service.h
  68. mock_policy_store.h
  69. mock_process_manager_service.h
  70. mock_server.key
  71. mock_server.pem
  72. mock_session_manager.h
  73. mock_system_utils.cc
  74. mock_system_utils.h
  75. mock_user_policy_service_factory.h
  76. nss_util.cc
  77. nss_util.h
  78. nss_util_unittest.cc
  79. org.chromium.SessionManagerInterface.xml
  80. owner_key_loss_mitigator.cc
  81. owner_key_loss_mitigator.h
  82. policy_key.cc
  83. policy_key.h
  84. policy_key_unittest.cc
  85. policy_service.cc
  86. policy_service.h
  87. policy_service_unittest.cc
  88. policy_store.cc
  89. policy_store.h
  90. policy_store_unittest.cc
  91. process_manager_service_interface.h
  92. regen_mitigator.cc
  93. regen_mitigator.h
  94. regen_mitigator_unittest.cc
  95. session_manager_dbus_adaptor.cc
  96. session_manager_dbus_adaptor.h
  97. session_manager_impl.cc
  98. session_manager_impl.h
  99. session_manager_impl_unittest.cc
  100. session_manager_interface.h
  101. session_manager_main.cc
  102. session_manager_process_unittest.cc
  103. session_manager_service.cc
  104. session_manager_service.h
  105. session_manager_setup.sh
  106. session_manager_static_unittest.cc
  107. session_manager_testrunner.cc
  108. SessionManager.conf
  109. stub_upstart_signal_emitter.h
  110. system_utils.h
  111. system_utils_impl.cc
  112. system_utils_impl.h
  113. system_utils_unittest.cc
  114. termination_handler.cc
  115. termination_handler.h
  116. termination_handler_unittest.cc
  117. ui-respawn.conf
  118. ui.conf
  119. upstart_signal_emitter.cc
  120. upstart_signal_emitter.h
  121. user_policy_service.cc
  122. user_policy_service.h
  123. user_policy_service_factory.cc
  124. user_policy_service_factory.h
  125. user_policy_service_unittest.cc
  126. WATCHLISTS
  127. xstart.sh