Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / ash / system / bluetooth / tray_bluetooth.h
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_