Use chromeos::Process in libchromeos.a instead of g_spawn_async.

Change the order of -l linker flags in SConstruct.chromiumos since libchromeos.a depends on libbase. Without the change, chrome fails to dlopen libcros.so.

BUG=chromium-os:12875
TEST=1) ran 'FEATURES=test emerge-x86-generic libcros' to see the library link order is correct. 2) manually checked the new code could change the layout correctly.

Change-Id: I77ea179f93fac368b76fe596db32d349911993ac

Review URL: http://codereview.chromium.org/6709058
(cherry picked from commit 1167c711c1fd411cc5437c2aab7f64d948be7f6b)

Use g_spawn_async instead of _sync to avoid blocking UI-thread.

This change does the following as well:

* Deprecate getter APIs that are currently unused.
* Stop calling 'setxkbmap -print'. Instead, just remember the last layout and modifier mappings set.

BUG=chromium-os:13029
TEST=1) manually checked 2) ran the unittest

Change-Id: If141b273c5ed455b34ae41c75f9f0e1729163e69

Review URL: http://codereview.chromium.org/6691007
(cherry picked from commit 7688b1249dba6d8ce129e220c2977845666a1aaf)

TBR=satorux

Review URL: http://codereview.chromium.org/6730052
4 files changed
tree: 4b1af3ef2424a028fdee95a0f324f7c4cae8d1fd
  1. .gitignore
  2. chromeos_brightness.cc
  3. chromeos_brightness.h
  4. chromeos_cros_api.h
  5. chromeos_cryptohome.cc
  6. chromeos_cryptohome.h
  7. chromeos_imageburn.cc
  8. chromeos_imageburn.h
  9. chromeos_input_method.cc
  10. chromeos_input_method.h
  11. chromeos_input_method_ui.cc
  12. chromeos_input_method_ui.h
  13. chromeos_keyboard.cc
  14. chromeos_keyboard.h
  15. chromeos_keyboard_unittest.cc
  16. chromeos_libcros_service.cc
  17. chromeos_libcros_service.h
  18. chromeos_login.cc
  19. chromeos_login.h
  20. chromeos_login_helpers.cc
  21. chromeos_login_helpers.h
  22. chromeos_login_unittest.cc
  23. chromeos_mount.cc
  24. chromeos_mount.h
  25. chromeos_network.cc
  26. chromeos_network.h
  27. chromeos_network_deprecated.cc
  28. chromeos_network_deprecated.h
  29. chromeos_power.cc
  30. chromeos_power.h
  31. chromeos_resume.cc
  32. chromeos_resume.h
  33. chromeos_screen_lock.cc
  34. chromeos_screen_lock.h
  35. chromeos_speech_synthesis.cc
  36. chromeos_speech_synthesis.h
  37. chromeos_synaptics.cc
  38. chromeos_synaptics.h
  39. chromeos_syslogs.cc
  40. chromeos_syslogs.h
  41. chromeos_system.cc
  42. chromeos_system.h
  43. chromeos_system_unittest.cc
  44. chromeos_touchpad.cc
  45. chromeos_touchpad.h
  46. chromeos_update.cc
  47. chromeos_update.h
  48. chromeos_update_engine.cc
  49. chromeos_update_engine.h
  50. chromeos_wm_ipc_enums.h
  51. cros_api.gyp
  52. drive_cryptohome.cc
  53. drive_login.cc
  54. gen_engines.py
  55. gen_input_method_whitelist.py
  56. gen_keyboard_overlay_map.py
  57. inherit-review-settings-ok
  58. libcros_service.cc
  59. libcros_service.h
  60. libcros_service.xml
  61. libcros_service_tester.cc
  62. libcros_servicer.cc
  63. libcros_servicer.h
  64. LibCrosService.conf
  65. LICENSE
  66. load.cc
  67. marshal.list
  68. monitor_mount.cc
  69. monitor_network.cc
  70. monitor_power.cc
  71. monitor_update_engine.cc
  72. monitor_utils.h
  73. network_proxy_resolver_handler.cc
  74. network_proxy_resolver_handler.h
  75. org.chromium.LibCrosService
  76. SConstruct.chromiumos
  77. test_libbase_ndebug.cc
  78. version_check.cc
  79. WATCHLISTS