shell_delegate_impl.h revision 0f1bc08d4cfcc34181b0b5cbf065c40f687bf740
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 keyboard { 14class KeyboardControllerProxy; 15} 16 17namespace ash { 18namespace shell { 19 20class LauncherDelegateImpl; 21class WindowWatcher; 22 23class ShellDelegateImpl : public ash::ShellDelegate { 24 public: 25 ShellDelegateImpl(); 26 virtual ~ShellDelegateImpl(); 27 28 void SetWatcher(WindowWatcher* watcher); 29 30 virtual bool IsFirstRunAfterBoot() const OVERRIDE; 31 virtual bool IsIncognitoAllowed() const OVERRIDE; 32 virtual bool IsMultiProfilesEnabled() const OVERRIDE; 33 virtual bool IsRunningInForcedAppMode() const OVERRIDE; 34 virtual void PreInit() OVERRIDE; 35 virtual void Shutdown() OVERRIDE; 36 virtual void Exit() OVERRIDE; 37 virtual keyboard::KeyboardControllerProxy* 38 CreateKeyboardControllerProxy() OVERRIDE; 39 virtual content::BrowserContext* GetCurrentBrowserContext() OVERRIDE; 40 virtual app_list::AppListViewDelegate* CreateAppListViewDelegate() OVERRIDE; 41 virtual ash::LauncherDelegate* CreateLauncherDelegate( 42 ash::LauncherModel* model) OVERRIDE; 43 virtual ash::SystemTrayDelegate* CreateSystemTrayDelegate() OVERRIDE; 44 virtual ash::UserWallpaperDelegate* CreateUserWallpaperDelegate() OVERRIDE; 45 virtual ash::CapsLockDelegate* CreateCapsLockDelegate() OVERRIDE; 46 virtual ash::SessionStateDelegate* CreateSessionStateDelegate() OVERRIDE; 47 virtual ash::AccessibilityDelegate* CreateAccessibilityDelegate() OVERRIDE; 48 virtual ash::NewWindowDelegate* CreateNewWindowDelegate() OVERRIDE; 49 virtual ash::MediaDelegate* CreateMediaDelegate() OVERRIDE; 50 virtual aura::client::UserActionClient* CreateUserActionClient() OVERRIDE; 51 virtual void RecordUserMetricsAction(UserMetricsAction action) OVERRIDE; 52 virtual ui::MenuModel* CreateContextMenu( 53 aura::Window* root_window) OVERRIDE; 54 virtual RootWindowHostFactory* CreateRootWindowHostFactory() OVERRIDE; 55 virtual base::string16 GetProductName() const OVERRIDE; 56 57 private: 58 // Used to update Launcher. Owned by main. 59 WindowWatcher* watcher_; 60 61 LauncherDelegateImpl* launcher_delegate_; 62 63 DISALLOW_COPY_AND_ASSIGN(ShellDelegateImpl); 64}; 65 66} // namespace shell 67} // namespace ash 68 69#endif // ASH_SHELL_SHELL_DELEGATE_IMPL_H_ 70