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 11namespace ash { 12namespace tray { 13class BluetoothDefaultView; 14class BluetoothDetailedView; 15} 16 17class 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