Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / ui / app_list / views / search_result_list_view_delegate.h
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
10 namespace app_list {
11
12 class SearchResult;
13
14 class 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. |auto_launch| is
18   // true when the result is opened automatically through voice-search. Delegate
19   // could use the |event_flags| information to choose different ways to open
20   // the result.
21   virtual void OpenResult(SearchResult* result,
22                           bool auto_launch,
23                           int event_flags) = 0;
24
25   // Called to invoke a custom action on |result|.  |action_index| corresponds
26   // to the index of the icon in |result.action_icons()| that was activated.
27   virtual void InvokeResultAction(SearchResult* result,
28                                   int action_index,
29                                   int event_flags) = 0;
30
31   // Called when the app represented by |result| is installed.
32   virtual void OnResultInstalled(SearchResult* result) = 0;
33
34   // Called when the app represented by |result| is uninstalled.
35   virtual void OnResultUninstalled(SearchResult* result) = 0;
36
37  protected:
38   virtual ~SearchResultListViewDelegate() {}
39 };
40
41 }  // namespace app_list
42
43 #endif  // UI_APP_LIST_VIEWS_SEARCH_RESULT_LIST_VIEW_DELEGATE_H_