Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / ui / app_list / app_list_model_observer.h
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 UI_APP_LIST_APP_LIST_MODEL_OBSERVER_H_
6 #define UI_APP_LIST_APP_LIST_MODEL_OBSERVER_H_
7
8 #include "ui/app_list/app_list_export.h"
9 #include "ui/app_list/app_list_model.h"
10
11 namespace app_list {
12
13 class AppListItem;
14
15 class APP_LIST_EXPORT AppListModelObserver {
16  public:
17   // Triggered after AppListModel's status has changed.
18   virtual void OnAppListModelStatusChanged() {}
19
20   // Triggered after AppListModel's state has changed.
21   virtual void OnAppListModelStateChanged(AppListModel::State old_state,
22                                           AppListModel::State new_state) {}
23
24   // Triggered after |item| has been added to the model.
25   virtual void OnAppListItemAdded(AppListItem* item) {}
26
27   // Triggered just before an item is deleted from the model.
28   virtual void OnAppListItemWillBeDeleted(AppListItem* item) {}
29
30   // Triggered just after an item is deleted from the model.
31   virtual void OnAppListItemDeleted() {}
32
33   // Triggered after |item| has moved, changed folders, or changed properties.
34   virtual void OnAppListItemUpdated(AppListItem* item) {}
35
36  protected:
37   virtual ~AppListModelObserver() {}
38 };
39
40 }  // namespace app_list
41
42 #endif  // UI_APP_LIST_APP_LIST_MODEL_OBSERVER_H_