1// Copyright 2013 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 UI_APP_LIST_VIEWS_SEARCH_RESULT_LIST_VIEW_DELEGATE_H_
6#define UI_APP_LIST_VIEWS_SEARCH_RESULT_LIST_VIEW_DELEGATE_H_
7
8#include "ui/app_list/app_list_export.h"
9
10namespace app_list {
11
12class SearchResult;
13
14class APP_LIST_EXPORT SearchResultListViewDelegate {
15 public:
16  // Invoked to open given |result|. |event_flags| contains the flags of the
17  // keyboard/mouse event that triggers the "open" request. Delegate could use
18  // the |event_flags| information to choose different ways to open the result.
19  virtual void OpenResult(SearchResult* result,
20                          int event_flags) = 0;
21
22  // Called to invoke a custom action on |result|.  |action_index| corresponds
23  // to the index of the icon in |result.action_icons()| that was activated.
24  virtual void InvokeResultAction(SearchResult* result,
25                                  int action_index,
26                                  int event_flags) = 0;
27
28  // Called when the app represented by |result| is installed.
29  virtual void OnResultInstalled(SearchResult* result) = 0;
30
31  // Called when the app represented by |result| is uninstalled.
32  virtual void OnResultUninstalled(SearchResult* result) = 0;
33
34 protected:
35  virtual ~SearchResultListViewDelegate() {}
36};
37
38}  // namespace app_list
39
40#endif  // UI_APP_LIST_VIEWS_SEARCH_RESULT_LIST_VIEW_DELEGATE_H_
41