Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(230)

Side by Side Diff: ash/common/system/tray/system_tray_notifier.h

Issue 2098023002: mash: Migrate remaining tray observers and notify functions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sync and rebase. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef ASH_SYSTEM_TRAY_SYSTEM_TRAY_NOTIFIER_H_ 5 #ifndef ASH_COMMON_SYSTEM_TRAY_SYSTEM_TRAY_NOTIFIER_H_
6 #define ASH_SYSTEM_TRAY_SYSTEM_TRAY_NOTIFIER_H_ 6 #define ASH_COMMON_SYSTEM_TRAY_SYSTEM_TRAY_NOTIFIER_H_
7
8 #include <stdint.h>
9 7
10 #include <string> 8 #include <string>
11 #include <vector>
12 9
13 #include "ash/ash_export.h" 10 #include "ash/ash_export.h"
14 #include "ash/common/system/user/user_observer.h" 11 #include "ash/common/accessibility_types.h"
12 #include "ash/common/system/locale/locale_observer.h"
15 #include "base/macros.h" 13 #include "base/macros.h"
16 #include "base/observer_list.h" 14 #include "base/observer_list.h"
17 15
18 #if defined(OS_CHROMEOS) 16 #if defined(OS_CHROMEOS)
19 #include "ash/system/chromeos/bluetooth/bluetooth_observer.h" 17 #include "base/strings/string16.h"
20 #include "ash/system/chromeos/enterprise/enterprise_domain_observer.h"
21 #include "ash/system/chromeos/network/network_observer.h"
22 #include "ash/system/chromeos/network/network_portal_detector_observer.h"
23 #include "ash/system/chromeos/screen_security/screen_capture_observer.h"
24 #include "ash/system/chromeos/screen_security/screen_share_observer.h"
25 #include "ash/system/chromeos/session/last_window_closed_observer.h"
26 #include "ash/system/chromeos/session/logout_button_observer.h"
27 #include "ash/system/chromeos/session/session_length_limit_observer.h"
28 #include "ash/system/tray/media_security/media_capture_observer.h"
29 #include "base/time/time.h" 18 #include "base/time/time.h"
30 #endif 19 #endif
31 20
32 namespace ash { 21 namespace ash {
33 22
23 class AccessibilityObserver;
24 class AudioObserver;
25 class ClockObserver;
26 class IMEObserver;
27 struct UpdateInfo;
28 class UpdateObserver;
29 class UserObserver;
30
34 #if defined(OS_CHROMEOS) 31 #if defined(OS_CHROMEOS)
35 class NetworkStateNotifier; 32 class BluetoothObserver;
33 class EnterpriseDomainObserver;
34 class LastWindowClosedObserver;
35 class LogoutButtonObserver;
36 class MediaCaptureObserver;
37 class NetworkObserver;
38 class NetworkPortalDetectorObserver;
39 class ScreenCaptureObserver;
40 class ScreenShareObserver;
41 class SessionLengthLimitObserver;
42 class TracingObserver;
43 class VirtualKeyboardObserver;
36 #endif 44 #endif
37 45
46 // Observer and notification manager for the ash system tray.
38 class ASH_EXPORT SystemTrayNotifier { 47 class ASH_EXPORT SystemTrayNotifier {
39 public: 48 public:
40 SystemTrayNotifier(); 49 SystemTrayNotifier();
41 ~SystemTrayNotifier(); 50 ~SystemTrayNotifier();
42 51
52 // Accessibility.
53 void AddAccessibilityObserver(AccessibilityObserver* observer);
54 void RemoveAccessibilityObserver(AccessibilityObserver* observer);
55 void NotifyAccessibilityModeChanged(
56 AccessibilityNotificationVisibility notify);
57
58 // Audio.
59 void AddAudioObserver(AudioObserver* observer);
60 void RemoveAudioObserver(AudioObserver* observer);
61 void NotifyAudioOutputVolumeChanged(uint64_t node_id, double volume);
62 void NotifyAudioOutputMuteChanged(bool mute_on, bool system_adjust);
63 void NotifyAudioNodesChanged();
64 void NotifyAudioActiveOutputNodeChanged();
65 void NotifyAudioActiveInputNodeChanged();
66
67 // Date and time.
68 void AddClockObserver(ClockObserver* observer);
69 void RemoveClockObserver(ClockObserver* observer);
70 void NotifyRefreshClock();
71 void NotifyDateFormatChanged();
72 void NotifySystemClockTimeUpdated();
73 void NotifySystemClockCanSetTimeChanged(bool can_set_time);
74
75 // Input methods.
76 void AddIMEObserver(IMEObserver* observer);
77 void RemoveIMEObserver(IMEObserver* observer);
78 void NotifyRefreshIME();
79 void NotifyRefreshIMEMenu(bool is_active);
80
81 // Locale.
82 void AddLocaleObserver(LocaleObserver* observer);
83 void RemoveLocaleObserver(LocaleObserver* observer);
84 void NotifyLocaleChanged(LocaleObserver::Delegate* delegate,
85 const std::string& cur_locale,
86 const std::string& from_locale,
87 const std::string& to_locale);
88
89 // OS updates.
90 void AddUpdateObserver(UpdateObserver* observer);
91 void RemoveUpdateObserver(UpdateObserver* observer);
92 void NotifyUpdateRecommended(const UpdateInfo& info);
93
94 // User.
43 void AddUserObserver(UserObserver* observer); 95 void AddUserObserver(UserObserver* observer);
44 void RemoveUserObserver(UserObserver* observer); 96 void RemoveUserObserver(UserObserver* observer);
97 void NotifyUserUpdate();
98 void NotifyUserAddedToSession();
45 99
46 #if defined(OS_CHROMEOS) 100 #if defined(OS_CHROMEOS)
101 // Bluetooth.
47 void AddBluetoothObserver(BluetoothObserver* observer); 102 void AddBluetoothObserver(BluetoothObserver* observer);
48 void RemoveBluetoothObserver(BluetoothObserver* observer); 103 void RemoveBluetoothObserver(BluetoothObserver* observer);
104 void NotifyRefreshBluetooth();
105 void NotifyBluetoothDiscoveringChanged();
49 106
107 // Enterprise domain.
108 void AddEnterpriseDomainObserver(EnterpriseDomainObserver* observer);
109 void RemoveEnterpriseDomainObserver(EnterpriseDomainObserver* observer);
110 void NotifyEnterpriseDomainChanged();
111
112 // Last window closed.
113 void AddLastWindowClosedObserver(LastWindowClosedObserver* observer);
114 void RemoveLastWindowClosedObserver(LastWindowClosedObserver* observer);
115 void NotifyLastWindowClosed();
116
117 // Logout button.
50 void AddLogoutButtonObserver(LogoutButtonObserver* observer); 118 void AddLogoutButtonObserver(LogoutButtonObserver* observer);
51 void RemoveLogoutButtonObserver(LogoutButtonObserver* observer); 119 void RemoveLogoutButtonObserver(LogoutButtonObserver* observer);
120 void NotifyShowLoginButtonChanged(bool show_login_button);
121 void NotifyLogoutDialogDurationChanged(base::TimeDelta duration);
52 122
53 void AddSessionLengthLimitObserver(SessionLengthLimitObserver* observer); 123 // Media capture.
54 void RemoveSessionLengthLimitObserver(SessionLengthLimitObserver* observer); 124 void AddMediaCaptureObserver(MediaCaptureObserver* observer);
125 void RemoveMediaCaptureObserver(MediaCaptureObserver* observer);
126 void NotifyMediaCaptureChanged();
55 127
128 // Network.
56 void AddNetworkObserver(NetworkObserver* observer); 129 void AddNetworkObserver(NetworkObserver* observer);
57 void RemoveNetworkObserver(NetworkObserver* observer); 130 void RemoveNetworkObserver(NetworkObserver* observer);
131 void NotifyRequestToggleWifi();
58 132
133 // Network portal detector.
59 void AddNetworkPortalDetectorObserver( 134 void AddNetworkPortalDetectorObserver(
60 NetworkPortalDetectorObserver* observer); 135 NetworkPortalDetectorObserver* observer);
61 void RemoveNetworkPortalDetectorObserver( 136 void RemoveNetworkPortalDetectorObserver(
62 NetworkPortalDetectorObserver* observer); 137 NetworkPortalDetectorObserver* observer);
138 void NotifyOnCaptivePortalDetected(const std::string& service_path);
63 139
64 void AddEnterpriseDomainObserver(EnterpriseDomainObserver* observer); 140 // Screen capture.
65 void RemoveEnterpriseDomainObserver(EnterpriseDomainObserver* observer);
66
67 void AddMediaCaptureObserver(MediaCaptureObserver* observer);
68 void RemoveMediaCaptureObserver(MediaCaptureObserver* observer);
69
70 void AddScreenCaptureObserver(ScreenCaptureObserver* observer); 141 void AddScreenCaptureObserver(ScreenCaptureObserver* observer);
71 void RemoveScreenCaptureObserver(ScreenCaptureObserver* observer); 142 void RemoveScreenCaptureObserver(ScreenCaptureObserver* observer);
72
73 void AddScreenShareObserver(ScreenShareObserver* observer);
74 void RemoveScreenShareObserver(ScreenShareObserver* observer);
75
76 void AddLastWindowClosedObserver(LastWindowClosedObserver* observer);
77 void RemoveLastWindowClosedObserver(LastWindowClosedObserver* observer);
78 #endif
79
80 void NotifyUserUpdate();
81 void NotifyUserAddedToSession();
82 #if defined(OS_CHROMEOS)
83 void NotifyRefreshBluetooth();
84 void NotifyBluetoothDiscoveringChanged();
85 void NotifyShowLoginButtonChanged(bool show_login_button);
86 void NotifyLogoutDialogDurationChanged(base::TimeDelta duration);
87 void NotifySessionStartTimeChanged();
88 void NotifySessionLengthLimitChanged();
89 void NotifyRequestToggleWifi();
90 void NotifyOnCaptivePortalDetected(const std::string& service_path);
91 void NotifyEnterpriseDomainChanged();
92 void NotifyMediaCaptureChanged();
93 void NotifyScreenCaptureStart(const base::Closure& stop_callback, 143 void NotifyScreenCaptureStart(const base::Closure& stop_callback,
94 const base::string16& sharing_app_name); 144 const base::string16& sharing_app_name);
95 void NotifyScreenCaptureStop(); 145 void NotifyScreenCaptureStop();
146
147 // Screen share.
148 void AddScreenShareObserver(ScreenShareObserver* observer);
149 void RemoveScreenShareObserver(ScreenShareObserver* observer);
96 void NotifyScreenShareStart(const base::Closure& stop_callback, 150 void NotifyScreenShareStart(const base::Closure& stop_callback,
97 const base::string16& helper_name); 151 const base::string16& helper_name);
98 void NotifyScreenShareStop(); 152 void NotifyScreenShareStop();
99 void NotifyLastWindowClosed(); 153
154 // Session length limit.
155 void AddSessionLengthLimitObserver(SessionLengthLimitObserver* observer);
156 void RemoveSessionLengthLimitObserver(SessionLengthLimitObserver* observer);
157 void NotifySessionStartTimeChanged();
158 void NotifySessionLengthLimitChanged();
159
160 // Tracing.
161 void AddTracingObserver(TracingObserver* observer);
162 void RemoveTracingObserver(TracingObserver* observer);
163 void NotifyTracingModeChanged(bool value);
164
165 // Virtual keyboard.
166 void AddVirtualKeyboardObserver(VirtualKeyboardObserver* observer);
167 void RemoveVirtualKeyboardObserver(VirtualKeyboardObserver* observer);
168 void NotifyVirtualKeyboardSuppressionChanged(bool suppressed);
100 #endif 169 #endif
101 170
102 private: 171 private:
172 base::ObserverList<AccessibilityObserver> accessibility_observers_;
173 base::ObserverList<AudioObserver> audio_observers_;
174 base::ObserverList<ClockObserver> clock_observers_;
175 base::ObserverList<IMEObserver> ime_observers_;
176 base::ObserverList<LocaleObserver> locale_observers_;
177 base::ObserverList<UpdateObserver> update_observers_;
103 base::ObserverList<UserObserver> user_observers_; 178 base::ObserverList<UserObserver> user_observers_;
179
104 #if defined(OS_CHROMEOS) 180 #if defined(OS_CHROMEOS)
105 base::ObserverList<BluetoothObserver> bluetooth_observers_; 181 base::ObserverList<BluetoothObserver> bluetooth_observers_;
182 base::ObserverList<EnterpriseDomainObserver> enterprise_domain_observers_;
183 base::ObserverList<LastWindowClosedObserver> last_window_closed_observers_;
106 base::ObserverList<LogoutButtonObserver> logout_button_observers_; 184 base::ObserverList<LogoutButtonObserver> logout_button_observers_;
107 base::ObserverList<SessionLengthLimitObserver> 185 base::ObserverList<MediaCaptureObserver> media_capture_observers_;
108 session_length_limit_observers_;
109 base::ObserverList<NetworkObserver> network_observers_; 186 base::ObserverList<NetworkObserver> network_observers_;
110 base::ObserverList<NetworkPortalDetectorObserver> 187 base::ObserverList<NetworkPortalDetectorObserver>
111 network_portal_detector_observers_; 188 network_portal_detector_observers_;
112 base::ObserverList<EnterpriseDomainObserver> enterprise_domain_observers_;
113 base::ObserverList<MediaCaptureObserver> media_capture_observers_;
114 base::ObserverList<ScreenCaptureObserver> screen_capture_observers_; 189 base::ObserverList<ScreenCaptureObserver> screen_capture_observers_;
115 base::ObserverList<ScreenShareObserver> screen_share_observers_; 190 base::ObserverList<ScreenShareObserver> screen_share_observers_;
116 base::ObserverList<LastWindowClosedObserver> last_window_closed_observers_; 191 base::ObserverList<SessionLengthLimitObserver>
192 session_length_limit_observers_;
193 base::ObserverList<TracingObserver> tracing_observers_;
194 base::ObserverList<VirtualKeyboardObserver> virtual_keyboard_observers_;
117 #endif 195 #endif
118 196
119 DISALLOW_COPY_AND_ASSIGN(SystemTrayNotifier); 197 DISALLOW_COPY_AND_ASSIGN(SystemTrayNotifier);
120 }; 198 };
121 199
122 } // namespace ash 200 } // namespace ash
123 201
124 #endif // ASH_SYSTEM_TRAY_SYSTEM_TRAY_NOTIFIER_H_ 202 #endif // ASH_COMMON_SYSTEM_TRAY_SYSTEM_TRAY_NOTIFIER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698