[content shell] implement testRunner.overridePreference
[chromium-blink-merge.git] / ash / system / tray / system_tray_notifier.cc
blob77af895a472083c3489a11dfba985cf908138550
1 // Copyright (c) 2012 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.
5 #include "ash/system/tray/system_tray_notifier.h"
7 namespace ash {
9 SystemTrayNotifier::SystemTrayNotifier() {
12 SystemTrayNotifier::~SystemTrayNotifier() {
15 void SystemTrayNotifier::AddAccessibilityObserver(
16 AccessibilityObserver* observer) {
17 accessibility_observers_.AddObserver(observer);
20 void SystemTrayNotifier::RemoveAccessibilityObserver(
21 AccessibilityObserver* observer) {
22 accessibility_observers_.RemoveObserver(observer);
25 void SystemTrayNotifier::AddAudioObserver(AudioObserver* observer) {
26 audio_observers_.AddObserver(observer);
29 void SystemTrayNotifier::RemoveAudioObserver(AudioObserver* observer) {
30 audio_observers_.RemoveObserver(observer);
33 void SystemTrayNotifier::AddBluetoothObserver(BluetoothObserver* observer) {
34 bluetooth_observers_.AddObserver(observer);
37 void SystemTrayNotifier::RemoveBluetoothObserver(BluetoothObserver* observer) {
38 bluetooth_observers_.RemoveObserver(observer);
41 void SystemTrayNotifier::AddBrightnessObserver(BrightnessObserver* observer) {
42 brightness_observers_.AddObserver(observer);
45 void SystemTrayNotifier::RemoveBrightnessObserver(
46 BrightnessObserver* observer) {
47 brightness_observers_.RemoveObserver(observer);
50 void SystemTrayNotifier::AddCapsLockObserver(CapsLockObserver* observer) {
51 caps_lock_observers_.AddObserver(observer);
54 void SystemTrayNotifier::RemoveCapsLockObserver(CapsLockObserver* observer) {
55 caps_lock_observers_.RemoveObserver(observer);
58 void SystemTrayNotifier::AddClockObserver(ClockObserver* observer) {
59 clock_observers_.AddObserver(observer);
62 void SystemTrayNotifier::RemoveClockObserver(ClockObserver* observer) {
63 clock_observers_.RemoveObserver(observer);
66 void SystemTrayNotifier::AddDriveObserver(DriveObserver* observer) {
67 drive_observers_.AddObserver(observer);
70 void SystemTrayNotifier::RemoveDriveObserver(DriveObserver* observer) {
71 drive_observers_.RemoveObserver(observer);
74 void SystemTrayNotifier::AddIMEObserver(IMEObserver* observer) {
75 ime_observers_.AddObserver(observer);
78 void SystemTrayNotifier::RemoveIMEObserver(IMEObserver* observer) {
79 ime_observers_.RemoveObserver(observer);
82 void SystemTrayNotifier::AddLocaleObserver(LocaleObserver* observer) {
83 locale_observers_.AddObserver(observer);
86 void SystemTrayNotifier::RemoveLocaleObserver(LocaleObserver* observer) {
87 locale_observers_.RemoveObserver(observer);
90 void SystemTrayNotifier::AddLogoutButtonObserver(
91 LogoutButtonObserver* observer) {
92 logout_button_observers_.AddObserver(observer);
95 void SystemTrayNotifier::RemoveLogoutButtonObserver(
96 LogoutButtonObserver* observer) {
97 logout_button_observers_.RemoveObserver(observer);
100 void SystemTrayNotifier::AddPowerStatusObserver(
101 PowerStatusObserver* observer) {
102 power_status_observers_.AddObserver(observer);
105 void SystemTrayNotifier::RemovePowerStatusObserver(
106 PowerStatusObserver* observer) {
107 power_status_observers_.RemoveObserver(observer);
110 void SystemTrayNotifier::AddSessionLengthLimitObserver(
111 SessionLengthLimitObserver* observer) {
112 session_length_limit_observers_.AddObserver(observer);
115 void SystemTrayNotifier::RemoveSessionLengthLimitObserver(
116 SessionLengthLimitObserver* observer) {
117 session_length_limit_observers_.RemoveObserver(observer);
120 void SystemTrayNotifier::AddUpdateObserver(UpdateObserver* observer) {
121 update_observers_.AddObserver(observer);
124 void SystemTrayNotifier::RemoveUpdateObserver(UpdateObserver* observer) {
125 update_observers_.RemoveObserver(observer);
128 void SystemTrayNotifier::AddUserObserver(UserObserver* observer) {
129 user_observers_.AddObserver(observer);
132 void SystemTrayNotifier::RemoveUserObserver(UserObserver* observer) {
133 user_observers_.RemoveObserver(observer);
136 #if defined(OS_CHROMEOS)
137 void SystemTrayNotifier::AddNetworkObserver(NetworkObserver* observer) {
138 network_observers_.AddObserver(observer);
141 void SystemTrayNotifier::RemoveNetworkObserver(NetworkObserver* observer) {
142 network_observers_.RemoveObserver(observer);
145 void SystemTrayNotifier::AddVpnObserver(NetworkObserver* observer) {
146 vpn_observers_.AddObserver(observer);
149 void SystemTrayNotifier::RemoveVpnObserver(NetworkObserver* observer) {
150 vpn_observers_.RemoveObserver(observer);
153 void SystemTrayNotifier::AddSmsObserver(SmsObserver* observer) {
154 sms_observers_.AddObserver(observer);
157 void SystemTrayNotifier::RemoveSmsObserver(SmsObserver* observer) {
158 sms_observers_.RemoveObserver(observer);
160 #endif
162 void SystemTrayNotifier::NotifyAccessibilityModeChanged(
163 AccessibilityNotificationVisibility notify) {
164 FOR_EACH_OBSERVER(
165 AccessibilityObserver,
166 accessibility_observers_,
167 OnAccessibilityModeChanged(notify));
170 void SystemTrayNotifier::NotifyVolumeChanged(float level) {
171 FOR_EACH_OBSERVER(AudioObserver,
172 audio_observers_,
173 OnVolumeChanged(level));
176 void SystemTrayNotifier::NotifyMuteToggled() {
177 FOR_EACH_OBSERVER(AudioObserver,
178 audio_observers_,
179 OnMuteToggled());
182 void SystemTrayNotifier::NotifyRefreshBluetooth() {
183 FOR_EACH_OBSERVER(BluetoothObserver,
184 bluetooth_observers_,
185 OnBluetoothRefresh());
188 void SystemTrayNotifier::NotifyBluetoothDiscoveringChanged() {
189 FOR_EACH_OBSERVER(BluetoothObserver,
190 bluetooth_observers_,
191 OnBluetoothDiscoveringChanged());
194 void SystemTrayNotifier::NotifyBrightnessChanged(double level,
195 bool user_initiated) {
196 FOR_EACH_OBSERVER(
197 BrightnessObserver,
198 brightness_observers_,
199 OnBrightnessChanged(level, user_initiated));
202 void SystemTrayNotifier::NotifyCapsLockChanged(
203 bool enabled,
204 bool search_mapped_to_caps_lock) {
205 FOR_EACH_OBSERVER(CapsLockObserver,
206 caps_lock_observers_,
207 OnCapsLockChanged(enabled, search_mapped_to_caps_lock));
210 void SystemTrayNotifier::NotifyRefreshClock() {
211 FOR_EACH_OBSERVER(ClockObserver, clock_observers_, Refresh());
214 void SystemTrayNotifier::NotifyDateFormatChanged() {
215 FOR_EACH_OBSERVER(ClockObserver,
216 clock_observers_,
217 OnDateFormatChanged());
220 void SystemTrayNotifier::NotifyRefreshDrive(DriveOperationStatusList& list) {
221 FOR_EACH_OBSERVER(DriveObserver,
222 drive_observers_,
223 OnDriveRefresh(list));
226 void SystemTrayNotifier::NotifyRefreshIME(bool show_message) {
227 FOR_EACH_OBSERVER(IMEObserver,
228 ime_observers_,
229 OnIMERefresh(show_message));
232 void SystemTrayNotifier::NotifyShowLoginButtonChanged(bool show_login_button) {
233 FOR_EACH_OBSERVER(LogoutButtonObserver,
234 logout_button_observers_,
235 OnShowLogoutButtonInTrayChanged(show_login_button));
238 void SystemTrayNotifier::NotifyLocaleChanged(
239 LocaleObserver::Delegate* delegate,
240 const std::string& cur_locale,
241 const std::string& from_locale,
242 const std::string& to_locale) {
243 FOR_EACH_OBSERVER(
244 LocaleObserver,
245 locale_observers_,
246 OnLocaleChanged(delegate, cur_locale, from_locale, to_locale));
249 void SystemTrayNotifier::NotifyPowerStatusChanged(
250 const PowerSupplyStatus& power_status) {
251 FOR_EACH_OBSERVER(PowerStatusObserver,
252 power_status_observers_,
253 OnPowerStatusChanged(power_status));
256 void SystemTrayNotifier::NotifySessionStartTimeChanged(
257 const base::Time& session_start_time) {
258 FOR_EACH_OBSERVER(SessionLengthLimitObserver,
259 session_length_limit_observers_,
260 OnSessionStartTimeChanged(session_start_time));
263 void SystemTrayNotifier::NotifySessionLengthLimitChanged(
264 const base::TimeDelta& limit) {
265 FOR_EACH_OBSERVER(SessionLengthLimitObserver,
266 session_length_limit_observers_,
267 OnSessionLengthLimitChanged(limit));
270 void SystemTrayNotifier::NotifyUpdateRecommended(
271 UpdateObserver::UpdateSeverity severity) {
272 FOR_EACH_OBSERVER(UpdateObserver,
273 update_observers_,
274 OnUpdateRecommended(severity));
277 void SystemTrayNotifier::NotifyUserUpdate() {
278 FOR_EACH_OBSERVER(UserObserver,
279 user_observers_,
280 OnUserUpdate());
283 #if defined(OS_CHROMEOS)
285 void SystemTrayNotifier::NotifyRefreshNetwork(const NetworkIconInfo &info) {
286 FOR_EACH_OBSERVER(NetworkObserver,
287 network_observers_,
288 OnNetworkRefresh(info));
291 void SystemTrayNotifier::NotifySetNetworkMessage(
292 NetworkTrayDelegate* delegate,
293 NetworkObserver::MessageType message_type,
294 NetworkObserver::NetworkType network_type,
295 const string16& title,
296 const string16& message,
297 const std::vector<string16>& links) {
298 FOR_EACH_OBSERVER(NetworkObserver,
299 network_observers_,
300 SetNetworkMessage(
301 delegate,
302 message_type,
303 network_type,
304 title,
305 message,
306 links));
309 void SystemTrayNotifier::NotifyClearNetworkMessage(
310 NetworkObserver::MessageType message_type) {
311 FOR_EACH_OBSERVER(NetworkObserver,
312 network_observers_,
313 ClearNetworkMessage(message_type));
316 void SystemTrayNotifier::NotifyVpnRefreshNetwork(const NetworkIconInfo &info) {
317 FOR_EACH_OBSERVER(NetworkObserver,
318 vpn_observers_,
319 OnNetworkRefresh(info));
322 void SystemTrayNotifier::NotifyWillToggleWifi() {
323 FOR_EACH_OBSERVER(NetworkObserver,
324 network_observers_,
325 OnWillToggleWifi());
328 void SystemTrayNotifier::NotifyAddSmsMessage(
329 const base::DictionaryValue& message) {
330 FOR_EACH_OBSERVER(SmsObserver, sms_observers_, AddMessage(message));
333 #endif // OS_CHROMEOS
335 } // namespace ash