ash: Update app list layout:
[chromium-blink-merge.git] / ash / system / audio / tray_volume.h
blob8a2f0e38b74950e2fa434b1f76535f9a5625422a
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 #ifndef ASH_SYSTEM_AUDIO_TRAY_VOLUME_H_
6 #define ASH_SYSTEM_AUDIO_TRAY_VOLUME_H_
7 #pragma once
9 #include "ash/system/audio/audio_observer.h"
10 #include "ash/system/tray/system_tray_item.h"
11 #include "base/memory/scoped_ptr.h"
13 namespace ash {
14 namespace internal {
16 namespace tray {
17 class VolumeView;
20 class TrayVolume : public SystemTrayItem,
21 public AudioObserver {
22 public:
23 TrayVolume();
24 virtual ~TrayVolume();
26 private:
27 // Overridden from SystemTrayItem.
28 virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE;
29 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE;
30 virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE;
31 virtual void DestroyTrayView() OVERRIDE;
32 virtual void DestroyDefaultView() OVERRIDE;
33 virtual void DestroyDetailedView() OVERRIDE;
35 // Overridden from AudioObserver.
36 virtual void OnVolumeChanged(float percent) OVERRIDE;
38 scoped_ptr<tray::VolumeView> volume_view_;
40 DISALLOW_COPY_AND_ASSIGN(TrayVolume);
43 } // namespace internal
44 } // namespace ash
46 #endif // ASH_SYSTEM_AUDIO_TRAY_VOLUME_H_