shell_delegate_impl.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
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 "ash/shell_delegate.h"
9#include "base/compiler_specific.h"
10
11namespace ash {
12namespace shell {
13
14class LauncherDelegateImpl;
15class WindowWatcher;
16
17class ShellDelegateImpl : public ash::ShellDelegate {
18 public:
19  ShellDelegateImpl();
20  virtual ~ShellDelegateImpl();
21
22  void SetWatcher(WindowWatcher* watcher);
23
24  virtual bool IsUserLoggedIn() OVERRIDE;
25  virtual bool IsSessionStarted() OVERRIDE;
26  virtual bool IsFirstRunAfterBoot() OVERRIDE;
27  virtual void LockScreen() OVERRIDE;
28  virtual void UnlockScreen() OVERRIDE;
29  virtual bool IsScreenLocked() const OVERRIDE;
30  virtual void Shutdown() OVERRIDE;
31  virtual void Exit() OVERRIDE;
32  virtual void NewTab() OVERRIDE;
33  virtual void NewWindow(bool incognito) OVERRIDE;
34  virtual void ToggleMaximized() OVERRIDE;
35  virtual void OpenFileManager(bool as_dialog) OVERRIDE;
36  virtual void OpenCrosh() OVERRIDE;
37  virtual void OpenMobileSetup(const std::string& service_path) OVERRIDE;
38  virtual void RestoreTab() OVERRIDE;
39  virtual bool RotatePaneFocus(Shell::Direction direction) OVERRIDE;
40  virtual void ShowKeyboardOverlay() OVERRIDE;
41  virtual void ShowTaskManager() OVERRIDE;
42  virtual content::BrowserContext* GetCurrentBrowserContext() OVERRIDE;
43  virtual void ToggleSpokenFeedback() OVERRIDE;
44  virtual bool IsSpokenFeedbackEnabled() const OVERRIDE;
45  virtual app_list::AppListViewDelegate* CreateAppListViewDelegate() OVERRIDE;
46  virtual ash::LauncherDelegate* CreateLauncherDelegate(
47      ash::LauncherModel* model) OVERRIDE;
48  virtual ash::SystemTrayDelegate* CreateSystemTrayDelegate() OVERRIDE;
49  virtual ash::UserWallpaperDelegate* CreateUserWallpaperDelegate() OVERRIDE;
50  virtual ash::CapsLockDelegate* CreateCapsLockDelegate() OVERRIDE;
51  virtual aura::client::UserActionClient* CreateUserActionClient() OVERRIDE;
52  virtual void OpenFeedbackPage() OVERRIDE;
53  virtual void RecordUserMetricsAction(UserMetricsAction action) OVERRIDE;
54  virtual void HandleMediaNextTrack() OVERRIDE;
55  virtual void HandleMediaPlayPause() OVERRIDE;
56  virtual void HandleMediaPrevTrack() OVERRIDE;
57  virtual string16 GetTimeRemainingString(base::TimeDelta delta) OVERRIDE;
58  virtual void SaveScreenMagnifierScale(double scale) OVERRIDE;
59  virtual double GetSavedScreenMagnifierScale() OVERRIDE;
60  virtual ui::MenuModel* CreateContextMenu(
61      aura::RootWindow* root_window) OVERRIDE;
62
63 private:
64  // Used to update Launcher. Owned by main.
65  WindowWatcher* watcher_;
66
67  LauncherDelegateImpl* launcher_delegate_;
68
69  bool locked_;
70  bool spoken_feedback_enabled_;
71
72  DISALLOW_COPY_AND_ASSIGN(ShellDelegateImpl);
73};
74
75}  // namespace shell
76}  // namespace ash
77
78#endif  // ASH_SHELL_SHELL_DELEGATE_IMPL_H_
79