system_tray_notifier.cc 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. // Copyright 2016 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/system/tray/system_tray_notifier.h"
  5. #include "ash/public/cpp/system_tray_observer.h"
  6. #include "ash/system/ime/ime_observer.h"
  7. #include "ash/system/network/network_observer.h"
  8. #include "ash/system/screen_security/screen_capture_observer.h"
  9. #include "ash/system/screen_security/screen_share_observer.h"
  10. #include "ash/system/virtual_keyboard/virtual_keyboard_observer.h"
  11. namespace ash {
  12. SystemTrayNotifier::SystemTrayNotifier() = default;
  13. SystemTrayNotifier::~SystemTrayNotifier() = default;
  14. void SystemTrayNotifier::AddIMEObserver(IMEObserver* observer) {
  15. ime_observers_.AddObserver(observer);
  16. }
  17. void SystemTrayNotifier::RemoveIMEObserver(IMEObserver* observer) {
  18. ime_observers_.RemoveObserver(observer);
  19. }
  20. void SystemTrayNotifier::NotifyRefreshIME() {
  21. for (auto& observer : ime_observers_)
  22. observer.OnIMERefresh();
  23. }
  24. void SystemTrayNotifier::NotifyRefreshIMEMenu(bool is_active) {
  25. for (auto& observer : ime_observers_)
  26. observer.OnIMEMenuActivationChanged(is_active);
  27. }
  28. void SystemTrayNotifier::AddNetworkObserver(NetworkObserver* observer) {
  29. network_observers_.AddObserver(observer);
  30. }
  31. void SystemTrayNotifier::RemoveNetworkObserver(NetworkObserver* observer) {
  32. network_observers_.RemoveObserver(observer);
  33. }
  34. void SystemTrayNotifier::NotifyRequestToggleWifi() {
  35. for (auto& observer : network_observers_)
  36. observer.RequestToggleWifi();
  37. }
  38. void SystemTrayNotifier::AddScreenCaptureObserver(
  39. ScreenCaptureObserver* observer) {
  40. screen_capture_observers_.AddObserver(observer);
  41. }
  42. void SystemTrayNotifier::RemoveScreenCaptureObserver(
  43. ScreenCaptureObserver* observer) {
  44. screen_capture_observers_.RemoveObserver(observer);
  45. }
  46. void SystemTrayNotifier::NotifyScreenCaptureStart(
  47. base::RepeatingClosure stop_callback,
  48. base::RepeatingClosure source_callback,
  49. const std::u16string& sharing_app_name) {
  50. for (auto& observer : screen_capture_observers_)
  51. observer.OnScreenCaptureStart(stop_callback, source_callback,
  52. sharing_app_name);
  53. }
  54. void SystemTrayNotifier::NotifyScreenCaptureStop() {
  55. for (auto& observer : screen_capture_observers_)
  56. observer.OnScreenCaptureStop();
  57. }
  58. void SystemTrayNotifier::AddScreenShareObserver(ScreenShareObserver* observer) {
  59. screen_share_observers_.AddObserver(observer);
  60. }
  61. void SystemTrayNotifier::RemoveScreenShareObserver(
  62. ScreenShareObserver* observer) {
  63. screen_share_observers_.RemoveObserver(observer);
  64. }
  65. void SystemTrayNotifier::NotifyScreenShareStart(
  66. base::RepeatingClosure stop_callback,
  67. const std::u16string& helper_name) {
  68. for (auto& observer : screen_share_observers_)
  69. observer.OnScreenShareStart(stop_callback, helper_name);
  70. }
  71. void SystemTrayNotifier::NotifyScreenShareStop() {
  72. for (auto& observer : screen_share_observers_)
  73. observer.OnScreenShareStop();
  74. }
  75. void SystemTrayNotifier::AddSystemTrayObserver(SystemTrayObserver* observer) {
  76. system_tray_observers_.AddObserver(observer);
  77. }
  78. void SystemTrayNotifier::RemoveSystemTrayObserver(
  79. SystemTrayObserver* observer) {
  80. system_tray_observers_.RemoveObserver(observer);
  81. }
  82. void SystemTrayNotifier::NotifyFocusOut(bool reverse) {
  83. for (auto& observer : system_tray_observers_)
  84. observer.OnFocusLeavingSystemTray(reverse);
  85. }
  86. void SystemTrayNotifier::NotifySystemTrayBubbleShown() {
  87. for (auto& observer : system_tray_observers_)
  88. observer.OnSystemTrayBubbleShown();
  89. }
  90. void SystemTrayNotifier::AddVirtualKeyboardObserver(
  91. VirtualKeyboardObserver* observer) {
  92. virtual_keyboard_observers_.AddObserver(observer);
  93. }
  94. void SystemTrayNotifier::RemoveVirtualKeyboardObserver(
  95. VirtualKeyboardObserver* observer) {
  96. virtual_keyboard_observers_.RemoveObserver(observer);
  97. }
  98. void SystemTrayNotifier::NotifyVirtualKeyboardSuppressionChanged(
  99. bool suppressed) {
  100. for (auto& observer : virtual_keyboard_observers_)
  101. observer.OnKeyboardSuppressionChanged(suppressed);
  102. }
  103. } // namespace ash