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 internal { 13 14namespace tray { 15class BluetoothDefaultView; 16class BluetoothDetailedView; 17} 18 19class TrayBluetooth : public SystemTrayItem, 20 public BluetoothObserver { 21 public: 22 explicit TrayBluetooth(SystemTray* system_tray); 23 virtual ~TrayBluetooth(); 24 25 private: 26 // Overridden from SystemTrayItem. 27 virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE; 28 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE; 29 virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE; 30 virtual void DestroyTrayView() OVERRIDE; 31 virtual void DestroyDefaultView() OVERRIDE; 32 virtual void DestroyDetailedView() OVERRIDE; 33 virtual void UpdateAfterLoginStatusChange(user::LoginStatus status) OVERRIDE; 34 35 // Overridden from BluetoothObserver. 36 virtual void OnBluetoothRefresh() OVERRIDE; 37 virtual void OnBluetoothDiscoveringChanged() OVERRIDE; 38 39 tray::BluetoothDefaultView* default_; 40 tray::BluetoothDetailedView* detailed_; 41 42 DISALLOW_COPY_AND_ASSIGN(TrayBluetooth); 43}; 44 45} // namespace internal 46} // namespace ash 47 48#endif // ASH_SYSTEM_BLUETOOTH_TRAY_BLUETOOTH_H_ 49