1// Copyright 2013 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_TRAY_DEFAULT_SYSTEM_TRAY_DELEGATE_H_
6#define ASH_SYSTEM_TRAY_DEFAULT_SYSTEM_TRAY_DELEGATE_H_
7
8#include "ash/ash_export.h"
9#include "ash/system/tray/system_tray_delegate.h"
10#include "base/compiler_specific.h"
11#include "base/memory/scoped_ptr.h"
12
13namespace ash {
14
15class ASH_EXPORT DefaultSystemTrayDelegate : public SystemTrayDelegate {
16 public:
17  DefaultSystemTrayDelegate();
18  virtual ~DefaultSystemTrayDelegate();
19
20  // Overridden from SystemTrayDelegate:
21  virtual void Initialize() OVERRIDE;
22  virtual void Shutdown() OVERRIDE;
23  virtual bool GetTrayVisibilityOnStartup() OVERRIDE;
24  virtual user::LoginStatus GetUserLoginStatus() const OVERRIDE;
25  virtual void ChangeProfilePicture() OVERRIDE;
26  virtual const std::string GetEnterpriseDomain() const OVERRIDE;
27  virtual const base::string16 GetEnterpriseMessage() const OVERRIDE;
28  virtual const std::string GetSupervisedUserManager() const OVERRIDE;
29  virtual const base::string16 GetSupervisedUserManagerName() const
30      OVERRIDE;
31  virtual const base::string16 GetSupervisedUserMessage() const OVERRIDE;
32  virtual bool IsUserSupervised() const OVERRIDE;
33  virtual bool SystemShouldUpgrade() const OVERRIDE;
34  virtual base::HourClockType GetHourClockType() const OVERRIDE;
35  virtual void ShowSettings() OVERRIDE;
36  virtual bool ShouldShowSettings() OVERRIDE;
37  virtual void ShowDateSettings() OVERRIDE;
38  virtual void ShowSetTimeDialog() OVERRIDE;
39  virtual void ShowNetworkSettings(const std::string& service_path) OVERRIDE;
40  virtual void ShowBluetoothSettings() OVERRIDE;
41  virtual void ShowDisplaySettings() OVERRIDE;
42  virtual void ShowChromeSlow() OVERRIDE;
43  virtual bool ShouldShowDisplayNotification() OVERRIDE;
44  virtual void ShowIMESettings() OVERRIDE;
45  virtual void ShowHelp() OVERRIDE;
46  virtual void ShowAccessibilityHelp() OVERRIDE;
47  virtual void ShowAccessibilitySettings() OVERRIDE;
48  virtual void ShowPublicAccountInfo() OVERRIDE;
49  virtual void ShowEnterpriseInfo() OVERRIDE;
50  virtual void ShowSupervisedUserInfo() OVERRIDE;
51  virtual void ShowUserLogin() OVERRIDE;
52  virtual bool ShowSpringChargerReplacementDialog() OVERRIDE;
53  virtual bool IsSpringChargerReplacementDialogVisible() OVERRIDE;
54  virtual bool HasUserConfirmedSafeSpringCharger() OVERRIDE;
55  virtual void ShutDown() OVERRIDE;
56  virtual void SignOut() OVERRIDE;
57  virtual void RequestLockScreen() OVERRIDE;
58  virtual void RequestRestartForUpdate() OVERRIDE;
59  virtual void GetAvailableBluetoothDevices(BluetoothDeviceList* list) OVERRIDE;
60  virtual void BluetoothStartDiscovering() OVERRIDE;
61  virtual void BluetoothStopDiscovering() OVERRIDE;
62  virtual void ConnectToBluetoothDevice(const std::string& address) OVERRIDE;
63  virtual void GetCurrentIME(IMEInfo* info) OVERRIDE;
64  virtual void GetAvailableIMEList(IMEInfoList* list) OVERRIDE;
65  virtual void GetCurrentIMEProperties(IMEPropertyInfoList* list) OVERRIDE;
66  virtual void SwitchIME(const std::string& ime_id) OVERRIDE;
67  virtual void ActivateIMEProperty(const std::string& key) OVERRIDE;
68  virtual void ShowNetworkConfigure(const std::string& network_id) OVERRIDE;
69  virtual bool EnrollNetwork(const std::string& network_id) OVERRIDE;
70  virtual void ManageBluetoothDevices() OVERRIDE;
71  virtual void ToggleBluetooth() OVERRIDE;
72  virtual bool IsBluetoothDiscovering() OVERRIDE;
73  virtual void ShowMobileSimDialog() OVERRIDE;
74  virtual void ShowMobileSetupDialog(const std::string& service_path) OVERRIDE;
75  virtual void ShowOtherNetworkDialog(const std::string& type) OVERRIDE;
76  virtual bool GetBluetoothAvailable() OVERRIDE;
77  virtual bool GetBluetoothEnabled() OVERRIDE;
78  virtual bool GetBluetoothDiscovering() OVERRIDE;
79  virtual void ChangeProxySettings() OVERRIDE;
80  virtual VolumeControlDelegate* GetVolumeControlDelegate() const OVERRIDE;
81  virtual void SetVolumeControlDelegate(
82      scoped_ptr<VolumeControlDelegate> delegate) OVERRIDE;
83  virtual bool GetSessionStartTime(
84      base::TimeTicks* session_start_time) OVERRIDE;
85  virtual bool GetSessionLengthLimit(
86      base::TimeDelta* session_length_limit) OVERRIDE;
87  virtual int GetSystemTrayMenuWidth() OVERRIDE;
88  virtual void ActiveUserWasChanged() OVERRIDE;
89  virtual bool IsSearchKeyMappedToCapsLock() OVERRIDE;
90  virtual tray::UserAccountsDelegate* GetUserAccountsDelegate(
91      const std::string& user_id) OVERRIDE;
92
93 private:
94  bool bluetooth_enabled_;
95  scoped_ptr<VolumeControlDelegate> volume_control_delegate_;
96
97  DISALLOW_COPY_AND_ASSIGN(DefaultSystemTrayDelegate);
98};
99
100}  // namespace ash
101
102#endif  // ASH_SYSTEM_TRAY_DEFAULT_SYSTEM_TRAY_DELEGATE_H_
103