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