1 // Copyright 2014 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 #ifndef ASH_SYSTEM_CHROMEOS_AUDIO_TRAY_AUDIO_CHROMEOS_H_
6 #define ASH_SYSTEM_CHROMEOS_AUDIO_TRAY_AUDIO_CHROMEOS_H_
8 #include "ash/ash_export.h"
9 #include "ash/system/audio/tray_audio.h"
10 #include "base/memory/scoped_ptr.h"
11 #include "chromeos/dbus/power_manager_client.h"
15 class AudioDetailedView
;
18 class ASH_EXPORT TrayAudioChromeOs
20 public chromeos::PowerManagerClient::Observer
{
22 explicit TrayAudioChromeOs(SystemTray
* system_tray
);
23 ~TrayAudioChromeOs() override
;
26 // Overridden from TrayAudio
27 void Update() override
;
30 // Overridden from SystemTrayItem.
31 views::View
* CreateDetailedView(user::LoginStatus status
) override
;
32 void DestroyDetailedView() override
;
34 // Overridden from gfx::DisplayObserver.
35 void OnDisplayAdded(const gfx::Display
& new_display
) override
;
36 void OnDisplayRemoved(const gfx::Display
& old_display
) override
;
37 void OnDisplayMetricsChanged(const gfx::Display
& display
,
38 uint32_t changed_metrics
) override
;
40 // Overriden from chromeos::PowerManagerClient::Observer.
41 void SuspendDone(const base::TimeDelta
& sleep_duration
) override
;
43 tray::AudioDetailedView
* audio_detail_view_
;
45 DISALLOW_COPY_AND_ASSIGN(TrayAudioChromeOs
);
50 #endif // ASH_SYSTEM_CHROMEOS_AUDIO_TRAY_AUDIO_CHROMEOS_H_