1d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (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) 5d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#ifndef ASH_SYSTEM_TRAY_DEFAULT_SYSTEM_TRAY_DELEGATE_H_ 6d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#define ASH_SYSTEM_TRAY_DEFAULT_SYSTEM_TRAY_DELEGATE_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 83551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "ash/ash_export.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (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) 15d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)class ASH_EXPORT DefaultSystemTrayDelegate : public SystemTrayDelegate { 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 17d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) DefaultSystemTrayDelegate(); 18d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) virtual ~DefaultSystemTrayDelegate(); 193551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 20d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) // Overridden from SystemTrayDelegate: 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void Initialize() OVERRIDE; 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual void Shutdown() OVERRIDE; 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool GetTrayVisibilityOnStartup() OVERRIDE; 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual user::LoginStatus GetUserLoginStatus() const OVERRIDE; 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void ChangeProfilePicture() OVERRIDE; 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual const std::string GetEnterpriseDomain() const OVERRIDE; 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual const base::string16 GetEnterpriseMessage() const OVERRIDE; 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual const std::string GetLocallyManagedUserManager() const OVERRIDE; 29eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual const base::string16 GetLocallyManagedUserManagerName() const 30eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch OVERRIDE; 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual const base::string16 GetLocallyManagedUserMessage() const OVERRIDE; 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool SystemShouldUpgrade() const OVERRIDE; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual base::HourClockType GetHourClockType() const OVERRIDE; 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowSettings() OVERRIDE; 353551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) virtual bool ShouldShowSettings() OVERRIDE; 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowDateSettings() OVERRIDE; 375c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu virtual void ShowSetTimeDialog() OVERRIDE; 3890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) virtual void ShowNetworkSettings(const std::string& service_path) OVERRIDE; 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowBluetoothSettings() OVERRIDE; 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowDisplaySettings() OVERRIDE; 41ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch virtual void ShowChromeSlow() OVERRIDE; 42eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual bool ShouldShowDisplayNotification() OVERRIDE; 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowDriveSettings() OVERRIDE; 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowIMESettings() OVERRIDE; 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ShowHelp() OVERRIDE; 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void ShowAccessibilityHelp() OVERRIDE; 47b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) virtual void ShowAccessibilitySettings() OVERRIDE; 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void ShowPublicAccountInfo() OVERRIDE; 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void ShowEnterpriseInfo() OVERRIDE; 50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual void ShowLocallyManagedUserInfo() OVERRIDE; 51c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual void ShowUserLogin() OVERRIDE; 525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual bool ShowSpringChargerReplacementDialog() OVERRIDE; 535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual bool IsSpringChargerReplacementDialogVisible() OVERRIDE; 545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (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; 58a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles) virtual void RequestRestartForUpdate() OVERRIDE; 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void GetAvailableBluetoothDevices(BluetoothDeviceList* list) OVERRIDE; 602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void BluetoothStartDiscovering() OVERRIDE; 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void BluetoothStopDiscovering() OVERRIDE; 62c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (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; 68c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual void CancelDriveOperation(int32 operation_id) OVERRIDE; 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void GetDriveOperationStatusList( 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ash::DriveOperationStatusList*) OVERRIDE; 714e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void ShowNetworkConfigure(const std::string& network_id, 724e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) gfx::NativeWindow parent_window) OVERRIDE; 734e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual bool EnrollNetwork(const std::string& network_id, 744e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) gfx::NativeWindow parent_window) OVERRIDE; 75a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch virtual void ManageBluetoothDevices() OVERRIDE; 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ToggleBluetooth() OVERRIDE; 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool IsBluetoothDiscovering() OVERRIDE; 7890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) virtual void ShowMobileSimDialog() OVERRIDE; 793551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) virtual void ShowMobileSetupDialog(const std::string& service_path) OVERRIDE; 804e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void ShowOtherNetworkDialog(const std::string& type) OVERRIDE; 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool GetBluetoothAvailable() OVERRIDE; 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool GetBluetoothEnabled() OVERRIDE; 83e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch virtual bool GetBluetoothDiscovering() OVERRIDE; 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void ChangeProxySettings() OVERRIDE; 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual VolumeControlDelegate* GetVolumeControlDelegate() const OVERRIDE; 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void SetVolumeControlDelegate( 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) scoped_ptr<VolumeControlDelegate> delegate) OVERRIDE; 882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual bool GetSessionStartTime( 892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) base::TimeTicks* session_start_time) OVERRIDE; 902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual bool GetSessionLengthLimit( 912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) base::TimeDelta* session_length_limit) OVERRIDE; 922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual int GetSystemTrayMenuWidth() OVERRIDE; 935d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual void ActiveUserWasChanged() OVERRIDE; 94a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) virtual bool IsNetworkBehindCaptivePortal( 95a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) const std::string& service_path) const OVERRIDE; 96a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) virtual bool IsSearchKeyMappedToCapsLock() OVERRIDE; 97a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch virtual tray::UserAccountsDelegate* GetUserAccountsDelegate( 98a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch const std::string& user_id) OVERRIDE; 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private: 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool bluetooth_enabled_; 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) scoped_ptr<VolumeControlDelegate> volume_control_delegate_; 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 104d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(DefaultSystemTrayDelegate); 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace ash 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 109d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#endif // ASH_SYSTEM_TRAY_DEFAULT_SYSTEM_TRAY_DELEGATE_H_ 110