#ifndef CHROME_BROWSER_UI_APP_LIST_APP_LIST_CONTROLLER_DELEGATE_IMPL_H_
#define CHROME_BROWSER_UI_APP_LIST_APP_LIST_CONTROLLER_DELEGATE_IMPL_H_
#include "base/compiler_specific.h"
#include "chrome/browser/ui/app_list/app_list_controller_delegate.h"
struct AppLaunchParams;
class AppListService;
class Profile;
namespace base {
class FilePath;
}
namespace extensions {
class Extension;
}
class AppListControllerDelegateImpl : public AppListControllerDelegate {
public:
explicit AppListControllerDelegateImpl(AppListService* service);
virtual ~AppListControllerDelegateImpl();
virtual void DismissView() OVERRIDE;
virtual gfx::NativeWindow GetAppListWindow() OVERRIDE;
virtual gfx::ImageSkia GetWindowIcon() OVERRIDE;
virtual bool IsAppPinned(const std::string& extension_id) OVERRIDE;
virtual void PinApp(const std::string& extension_id) OVERRIDE;
virtual void UnpinApp(const std::string& extension_id) OVERRIDE;
virtual Pinnable GetPinnable() OVERRIDE;
virtual bool CanDoCreateShortcutsFlow() OVERRIDE;
virtual void DoCreateShortcutsFlow(Profile* profile,
const std::string& extension_id) OVERRIDE;
virtual void CreateNewWindow(Profile* profile, bool incognito) OVERRIDE;
virtual void ActivateApp(Profile* profile,
const extensions::Extension* extension,
AppListSource source,
int event_flags) OVERRIDE;
virtual void LaunchApp(Profile* profile,
const extensions::Extension* extension,
AppListSource source,
int event_flags) OVERRIDE;
virtual void ShowForProfileByPath(
const base::FilePath& profile_path) OVERRIDE;
virtual bool ShouldShowUserIcon() OVERRIDE;
protected:
virtual void FillLaunchParams(AppLaunchParams* params);
private:
AppListService* service_;
DISALLOW_COPY_AND_ASSIGN(AppListControllerDelegateImpl);
};
#endif