app_list_controller_ash.h revision 4e180b6a0b4720a9b8e9e959a882386f690f08ff
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 CHROME_BROWSER_UI_ASH_APP_LIST_APP_LIST_CONTROLLER_ASH_H_
6#define CHROME_BROWSER_UI_ASH_APP_LIST_APP_LIST_CONTROLLER_ASH_H_
7
8#include "base/basictypes.h"
9#include "base/compiler_specific.h"
10#include "chrome/browser/ui/app_list/app_list_controller_delegate.h"
11#include "chrome/browser/ui/ash/launcher/chrome_launcher_types.h"
12
13class AppListControllerDelegateAsh : public AppListControllerDelegate {
14 public:
15  AppListControllerDelegateAsh();
16  virtual ~AppListControllerDelegateAsh();
17
18 private:
19  // AppListControllerDelegate overrides:
20  virtual void DismissView() OVERRIDE;
21  virtual gfx::NativeWindow GetAppListWindow() OVERRIDE;
22  virtual bool IsAppPinned(const std::string& extension_id) OVERRIDE;
23  virtual void PinApp(const std::string& extension_id) OVERRIDE;
24  virtual void UnpinApp(const std::string& extension_id) OVERRIDE;
25  virtual Pinnable GetPinnable() OVERRIDE;
26  virtual bool CanDoCreateShortcutsFlow(bool is_platform_app) OVERRIDE;
27  virtual void CreateNewWindow(Profile* profile, bool incognito) OVERRIDE;
28  virtual void ActivateApp(Profile* profile,
29                           const extensions::Extension* extension,
30                           AppListSource source,
31                           int event_flags) OVERRIDE;
32  virtual void LaunchApp(Profile* profile,
33                         const extensions::Extension* extension,
34                         AppListSource source,
35                         int event_flags) OVERRIDE;
36  virtual void ShowForProfileByPath(
37      const base::FilePath& profile_path) OVERRIDE;
38  virtual bool ShouldShowUserIcon() OVERRIDE;
39
40  ash::LaunchSource AppListSourceToLaunchSource(AppListSource source);
41
42  DISALLOW_COPY_AND_ASSIGN(AppListControllerDelegateAsh);
43};
44
45#endif  // CHROME_BROWSER_UI_ASH_APP_LIST_APP_LIST_CONTROLLER_ASH_H_
46