shell_delegate_impl.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
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_SHELL_SHELL_DELEGATE_IMPL_H_ 6#define ASH_SHELL_SHELL_DELEGATE_IMPL_H_ 7 8#include <string> 9 10#include "ash/shell_delegate.h" 11#include "base/compiler_specific.h" 12 13namespace ash { 14namespace shell { 15 16class LauncherDelegateImpl; 17class WindowWatcher; 18 19class ShellDelegateImpl : public ash::ShellDelegate { 20 public: 21 ShellDelegateImpl(); 22 virtual ~ShellDelegateImpl(); 23 24 void SetWatcher(WindowWatcher* watcher); 25 26 virtual bool IsUserLoggedIn() const OVERRIDE; 27 virtual bool IsSessionStarted() const OVERRIDE; 28 virtual bool IsGuestSession() const OVERRIDE; 29 virtual bool IsFirstRunAfterBoot() const OVERRIDE; 30 virtual bool IsRunningInForcedAppMode() const OVERRIDE; 31 virtual bool CanLockScreen() const OVERRIDE; 32 virtual void LockScreen() OVERRIDE; 33 virtual void UnlockScreen() OVERRIDE; 34 virtual bool IsScreenLocked() const OVERRIDE; 35 virtual void PreInit() OVERRIDE; 36 virtual void Shutdown() OVERRIDE; 37 virtual void Exit() OVERRIDE; 38 virtual void NewTab() OVERRIDE; 39 virtual void NewWindow(bool incognito) OVERRIDE; 40 virtual void ToggleMaximized() OVERRIDE; 41 virtual void OpenFileManager(bool as_dialog) OVERRIDE; 42 virtual void OpenCrosh() OVERRIDE; 43 virtual void OpenMobileSetup(const std::string& service_path) OVERRIDE; 44 virtual void RestoreTab() OVERRIDE; 45 virtual bool RotatePaneFocus(Shell::Direction direction) OVERRIDE; 46 virtual void ShowKeyboardOverlay() OVERRIDE; 47 virtual void ShowTaskManager() OVERRIDE; 48 virtual content::BrowserContext* GetCurrentBrowserContext() OVERRIDE; 49 virtual void ToggleSpokenFeedback( 50 AccessibilityNotificationVisibility notify) OVERRIDE; 51 virtual bool IsSpokenFeedbackEnabled() const OVERRIDE; 52 virtual void ToggleHighContrast() OVERRIDE; 53 virtual bool IsHighContrastEnabled() const OVERRIDE; 54 virtual void SetMagnifierEnabled(bool enabled) OVERRIDE; 55 virtual void SetMagnifierType(MagnifierType type) OVERRIDE; 56 virtual bool IsMagnifierEnabled() const OVERRIDE; 57 virtual MagnifierType GetMagnifierType() const OVERRIDE; 58 virtual bool ShouldAlwaysShowAccessibilityMenu() const OVERRIDE; 59 virtual app_list::AppListViewDelegate* CreateAppListViewDelegate() OVERRIDE; 60 virtual ash::LauncherDelegate* CreateLauncherDelegate( 61 ash::LauncherModel* model) OVERRIDE; 62 virtual ash::SystemTrayDelegate* CreateSystemTrayDelegate() OVERRIDE; 63 virtual ash::UserWallpaperDelegate* CreateUserWallpaperDelegate() OVERRIDE; 64 virtual ash::CapsLockDelegate* CreateCapsLockDelegate() OVERRIDE; 65 virtual aura::client::UserActionClient* CreateUserActionClient() OVERRIDE; 66 virtual void OpenFeedbackPage() OVERRIDE; 67 virtual void RecordUserMetricsAction(UserMetricsAction action) OVERRIDE; 68 virtual void HandleMediaNextTrack() OVERRIDE; 69 virtual void HandleMediaPlayPause() OVERRIDE; 70 virtual void HandleMediaPrevTrack() OVERRIDE; 71 virtual string16 GetTimeRemainingString(base::TimeDelta delta) OVERRIDE; 72 virtual string16 GetTimeDurationLongString(base::TimeDelta delta) OVERRIDE; 73 virtual void SaveScreenMagnifierScale(double scale) OVERRIDE; 74 virtual double GetSavedScreenMagnifierScale() OVERRIDE; 75 virtual ui::MenuModel* CreateContextMenu( 76 aura::RootWindow* root_window) OVERRIDE; 77 virtual RootWindowHostFactory* CreateRootWindowHostFactory() OVERRIDE; 78 virtual string16 GetProductName() const OVERRIDE; 79 80 private: 81 // Used to update Launcher. Owned by main. 82 WindowWatcher* watcher_; 83 84 LauncherDelegateImpl* launcher_delegate_; 85 86 bool locked_; 87 bool spoken_feedback_enabled_; 88 bool high_contrast_enabled_; 89 bool screen_magnifier_enabled_; 90 MagnifierType screen_magnifier_type_; 91 92 DISALLOW_COPY_AND_ASSIGN(ShellDelegateImpl); 93}; 94 95} // namespace shell 96} // namespace ash 97 98#endif // ASH_SHELL_SHELL_DELEGATE_IMPL_H_ 99