• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #ifndef ASH_SYSTEM_BLUETOOTH_TRAY_BLUETOOTH_H_
6 #define ASH_SYSTEM_BLUETOOTH_TRAY_BLUETOOTH_H_
7 
8 #include "ash/system/bluetooth/bluetooth_observer.h"
9 #include "ash/system/tray/system_tray_item.h"
10 
11 namespace ash {
12 namespace tray {
13 class BluetoothDefaultView;
14 class BluetoothDetailedView;
15 }
16 
17 class TrayBluetooth : public SystemTrayItem,
18                       public BluetoothObserver {
19  public:
20   explicit TrayBluetooth(SystemTray* system_tray);
21   virtual ~TrayBluetooth();
22 
23  private:
24   // Overridden from SystemTrayItem.
25   virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE;
26   virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE;
27   virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE;
28   virtual void DestroyTrayView() OVERRIDE;
29   virtual void DestroyDefaultView() OVERRIDE;
30   virtual void DestroyDetailedView() OVERRIDE;
31   virtual void UpdateAfterLoginStatusChange(user::LoginStatus status) OVERRIDE;
32 
33   // Overridden from BluetoothObserver.
34   virtual void OnBluetoothRefresh() OVERRIDE;
35   virtual void OnBluetoothDiscoveringChanged() OVERRIDE;
36 
37   tray::BluetoothDefaultView* default_;
38   tray::BluetoothDetailedView* detailed_;
39 
40   DISALLOW_COPY_AND_ASSIGN(TrayBluetooth);
41 };
42 
43 }  // namespace ash
44 
45 #endif  // ASH_SYSTEM_BLUETOOTH_TRAY_BLUETOOTH_H_
46