default_system_tray_delegate.h revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef ASH_SYSTEM_TRAY_DEFAULT_SYSTEM_TRAY_DELEGATE_H_
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define ASH_SYSTEM_TRAY_DEFAULT_SYSTEM_TRAY_DELEGATE_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "ash/ash_export.h"
9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "ash/system/tray/system_tray_delegate.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/compiler_specific.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/memory/scoped_ptr.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ash {
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class ASH_EXPORT DefaultSystemTrayDelegate : public SystemTrayDelegate {
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public:
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DefaultSystemTrayDelegate();
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual ~DefaultSystemTrayDelegate();
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Overridden from SystemTrayDelegate:
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void Initialize() OVERRIDE;
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void Shutdown() OVERRIDE;
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool GetTrayVisibilityOnStartup() OVERRIDE;
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual user::LoginStatus GetUserLoginStatus() const OVERRIDE;
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ChangeProfilePicture() OVERRIDE;
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual const std::string GetEnterpriseDomain() const OVERRIDE;
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual const base::string16 GetEnterpriseMessage() const OVERRIDE;
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual const std::string GetSupervisedUserManager() const OVERRIDE;
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual const base::string16 GetSupervisedUserManagerName() const
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      OVERRIDE;
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual const base::string16 GetSupervisedUserMessage() const OVERRIDE;
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool IsUserSupervised() const OVERRIDE;
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool SystemShouldUpgrade() const OVERRIDE;
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual base::HourClockType GetHourClockType() const OVERRIDE;
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowSettings() OVERRIDE;
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool ShouldShowSettings() OVERRIDE;
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowDateSettings() OVERRIDE;
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowSetTimeDialog() OVERRIDE;
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowNetworkSettings(const std::string& service_path) OVERRIDE;
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowBluetoothSettings() OVERRIDE;
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowDisplaySettings() OVERRIDE;
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowChromeSlow() OVERRIDE;
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool ShouldShowDisplayNotification() OVERRIDE;
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowIMESettings() OVERRIDE;
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowHelp() OVERRIDE;
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowAccessibilityHelp() OVERRIDE;
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowAccessibilitySettings() OVERRIDE;
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowPublicAccountInfo() OVERRIDE;
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowEnterpriseInfo() OVERRIDE;
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowSupervisedUserInfo() OVERRIDE;
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowUserLogin() OVERRIDE;
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool ShowSpringChargerReplacementDialog() OVERRIDE;
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool IsSpringChargerReplacementDialogVisible() OVERRIDE;
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool HasUserConfirmedSafeSpringCharger() OVERRIDE;
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShutDown() OVERRIDE;
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void SignOut() OVERRIDE;
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void RequestLockScreen() OVERRIDE;
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void RequestRestartForUpdate() OVERRIDE;
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void GetAvailableBluetoothDevices(BluetoothDeviceList* list) OVERRIDE;
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void BluetoothStartDiscovering() OVERRIDE;
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void BluetoothStopDiscovering() OVERRIDE;
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ConnectToBluetoothDevice(const std::string& address) OVERRIDE;
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void GetCurrentIME(IMEInfo* info) OVERRIDE;
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void GetAvailableIMEList(IMEInfoList* list) OVERRIDE;
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void GetCurrentIMEProperties(IMEPropertyInfoList* list) OVERRIDE;
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void SwitchIME(const std::string& ime_id) OVERRIDE;
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ActivateIMEProperty(const std::string& key) OVERRIDE;
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowNetworkConfigure(const std::string& network_id) OVERRIDE;
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool EnrollNetwork(const std::string& network_id) OVERRIDE;
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ManageBluetoothDevices() OVERRIDE;
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ToggleBluetooth() OVERRIDE;
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool IsBluetoothDiscovering() OVERRIDE;
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowMobileSimDialog() OVERRIDE;
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowMobileSetupDialog(const std::string& service_path) OVERRIDE;
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ShowOtherNetworkDialog(const std::string& type) OVERRIDE;
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool GetBluetoothAvailable() OVERRIDE;
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool GetBluetoothEnabled() OVERRIDE;
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool GetBluetoothDiscovering() OVERRIDE;
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ChangeProxySettings() OVERRIDE;
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual VolumeControlDelegate* GetVolumeControlDelegate() const OVERRIDE;
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void SetVolumeControlDelegate(
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      scoped_ptr<VolumeControlDelegate> delegate) OVERRIDE;
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool GetSessionStartTime(
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      base::TimeTicks* session_start_time) OVERRIDE;
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool GetSessionLengthLimit(
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      base::TimeDelta* session_length_limit) OVERRIDE;
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual int GetSystemTrayMenuWidth() OVERRIDE;
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void ActiveUserWasChanged() OVERRIDE;
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool IsSearchKeyMappedToCapsLock() OVERRIDE;
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual tray::UserAccountsDelegate* GetUserAccountsDelegate(
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      const std::string& user_id) OVERRIDE;
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private:
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  bool bluetooth_enabled_;
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  scoped_ptr<VolumeControlDelegate> volume_control_delegate_;
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(DefaultSystemTrayDelegate);
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace ash
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // ASH_SYSTEM_TRAY_DEFAULT_SYSTEM_TRAY_DELEGATE_H_
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)